За последние 24 часа нас посетил 16821 программист и 1644 робота. Сейчас ищут 1018 программистов ...

Ошибка in_array() expects parameter

Тема в разделе "Прочие вопросы по PHP", создана пользователем fartuk, 18 ноя 2013.

  1. fartuk

    fartuk Новичок

    С нами с:
    29 окт 2013
    Сообщения:
    40
    Симпатии:
    0
    Здравствуйте. Не могу понять в чём ошибка.
    Имеется кусок кода

    $w=0;

    if (in_array($idmy, $array2)){
    $w=1;
    }
    else {$w=0;}

    if ($w<>1){
    $array2[] = $idmy;
    }

    При работе если в массиве $array2 нет значения, равного переменной $idmy, то ошибка
    Warning: in_array() expects parameter 2 to be array, boolean given in /opt/lampp/htdocs/ailcos/sohr2.php on line 190

    А если есть, то всё нормально.

    Массив $array2 берется из бд (unserialize)


    Но в данный момент ячейка таблицы пустая, и может быть поэтому не может сформироваться массив?

    Добавлено спустя 4 минуты 11 секунд:
    Я просто думаю, что если текстовая переменная, содержащая массив пуста, то из неё сформируется пустой масив.
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    а сфига ли там текстовая переменная?
    Интерпретатор же черным по белому говорит: boolean given
    Да и даже если текстовая, каким образом он из нее массив соберет?
     
  3. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Проверяйте сначала, является ли массивом переменная $array2 и если sizeof($array2) не равен 0, значит массив не пустой и можно попробовать найти в нем значение $idmy.