У меня есть массив, который содержит категории для конкретной статьи ($ link_cat). Затем я использую mysql_fetch_array, чтобы распечатать все категорий, доступных в списке с флажками. Пока он делает это, я хочу сравнить его значение со значением из другого массива. Если есть совпадение, то это означает, что к этой статье относится одна из категорий, и она должна распечатать строку кода, чтобы применить проверенный атрибут. отличный! кроме того, что это не работает = [
while ( $row = mysqli_fetch_array($results, MYSQLI_ASSOC) ){
$cat[$i] = $row['category'];
$cat_id[$i] = $row['cat_id'];
echo '<li><input type="checkbox" ';
$catCount = count($link_cat);
for ($ct = 0; $ct < $catCount; $ct++){
if ($cat_id[$i] == $link_cat[$ct]){
echo 'checked="checked" ';
}
}
echo 'name="' . $cat_id[$i] . '" />' . $cat[$i] . '</li>';
$i++;
}
Я никогда раньше не делал вложенный цикл (подозреваю, в этом проблема).
Кажется, проблема в том, что при запуске $ link_cat [0], который будет иметь первую категорию для проверки - не регистрируется. Это приходит пустым. Распечатка переменных внутри цикла for подтвердила это. Любые другие [1] [2] и т. Д., Все в порядке. Это просто [0]. Но почему? это не имеет никакого смысла. Я знаю, что там что-то есть, потому что я напечатал содержимое массива, когда я его заполнил, просто чтобы проверить. Тем не менее, это не просто показать во время цикла. Есть идеи?