@kr_ilya

Как правильно использовать функцию in_array() в цикле?

Имеется цикл foreach, в нем, условие, если есть запись в массиве, то переменной присваивается значение, иначе присваивается пустое значение.
Вот:
foreach($stat as $Row ){
if(isset($_COOKIE['likes'])){
if(in_array($Row['ID'], $arr_likes)){
$likeclass = 'black';
}else{
  $likeclass ='';
}
}
}

Дальше в этом же цикле идет вывод переменной $likeclass, но выводится она только при первом совпадении is_array. Как можно исправить?

Откуда берется массив: Из куков получаем строку вида: 1, 32, 6, 4, 99 и т.д. дальше выбираем значения между запятыми. Вот код:
if(isset($_COOKIE['likes'])){
$likes = $_COOKIE['likes'];
$likess = intval($likes);
$arr_likes = explode(",", $likess);
}
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
@bears
Вот тут, функция intval возвращает 1, если в нее передаете 1, 32, 6, 4, 99:
$likess = intval($likes);
соответственно, вот тут:
$arr_likes = explode(",", $likess);
$arr_likes = ['1']
вероятнее всего ошибка именно тут
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы