За последние 24 часа нас посетили 34696 программистов и 1737 роботов. Сейчас ищут 972 программиста ...

if выдает что переменная пустая

Тема в разделе "PHP для новичков", создана пользователем Dron-Boy, 4 апр 2018.

  1. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    PHP:
    1. $kamera = $val['attr']['kamera'];
    2.             $PZU = $val['attr']['memory'
    3. if($val['attr']['yader']){
    4.                 $id_attr = insert_filter(1,$val['attr']['yader'],$link_con);
    5.             }else if($val['attr']['diagonal']){
    6.                 $id_attr = insert_filter(5,$val['attr']['diagonal'],$link_con);
    7.             }else if($val['attr']['OZU']){
    8.                 $id_attr = insert_filter(7,$val['attr']['OZU'],$link_con);
    9.             }else if(isset($kamera)){
    10.                 $id_attr = insert_filter(8,$kamera,$link_con);
    11.                 $file = 'log.txt';
    12.                 $current = file_get_contents($file);
    13.                 $current .= $kamera.','.$PZU.PHP_EOL;
    14.                 file_put_contents($file, $current);
    15.                 fclose($file);
    16.             }else if($val['manufacture']){
    17.                 $id_attr = insert_filter(3,$val['manufacture'],$link_con);
    18.             }else if(isset($PZU)){
    19.                 $id_attr = insert_filter(9,$PZU,$link_con);
    20.             }
    че за бред? в лог нечего не пишет получается
    PHP:
    1. isset($kamera)
    и
    PHP:
    1. isset($PZU)
    выдает что их нет хотя я их явно создаю и в $val['attr']['kamera']; 100% есть данные потому что когда выносишь из условия запись в лог ведется. почему? данные там такого типа
    2Гб
    5Мп
    например var_dump
    выдает
    string(5) "5Мп" string(5) "8Гб" string(5) "8Мп" string(5) "8Гб"
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.866
    Симпатии:
    753
    Адрес:
    Татарстан
    значит не так явно..... или передаваемые значения предаете пустые все же, либо в этой функции что-то .... покажите что там
     
  3. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    PHP:
    1. function insert_filter($id,$name,$link_con){
    2.         $res_filt = $link_con->query("SELECT `filter_id` FROM `oc_filter_description` WHERE `name` = '$name'");
    3.         if($res_filt->num_rows){
    4.             $res_filt = $res_filt->fetch_assoc();
    5.             $id_attr = $res_filt['filter_id'];
    6.         }else{
    7.             $link_con->query("INSERT INTO `oc_filter`(`filter_group_id`, `sort_order`) VALUES ($id,1)");
    8.             $id_attr = mysqli_insert_id($link_con);
    9.             $link_con->query("INSERT INTO `oc_filter_description`(`filter_id`, `language_id`, `filter_group_id`, `name`) VALUES ($id_attr,1,$id,'$name')");
    10.         }
    11.         return $id_attr;
    12.     }
    Но условие не обрабатыывается и до функции не доходит даже.
    --- Добавлено ---
    Пиз*ц полный вынес с else if
    написал
    PHP:
    1. if($kamera){
    2.                 $id_attr = insert_filter(8,$kamera,$link_con);
    3. }
    все обрабатывает нормально
    --- Добавлено ---
    я понял в чем проблема все ок. спасибо. я же блятьб пишу if else сука тупой
    --- Добавлено ---
    Заработался
     
  4. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    PHP:
    1. <?php
    2. $array = [0, 1, 2, 3];
    3. $foo = $array[5];
    4. var_dump(isset($foo)); //false
     
  5. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Да там не в том дело было нужно было каждый вносить а я написал if else
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    Великие цитаты.
    Славься if
    Славься else
    Славься cука
    :D
     
    Dron-Boy нравится это.