0

Вот код

foreach ($manga as $key => $item) {
    if($g == $item["glava"] || $glavaNextRename == true){
        $glavaNextRename = true;  
        if($g != $item["glava"]){
            $glavaNext = $item["glava"]; print $item["glava"];
            $glavaNextRename = false;
        }
    }
}

print выводит два элемента, первый 0, второй 26. Но почему-то переменной $glavaNext присваивается 26, а не 0. Почему так?

  • потому что в условие заходит два раза, первый раз когда ноль, второй раз когда 26 и соответственно26 перезаписывает 0 – Алексей Шиманский Nov 16 '21 at 18:29
  • Вот в чем дело, не подскажешь как можно тогда остановить цикл при получении первого значения? – ZAK ATTACK Nov 16 '21 at 18:38
  • Пробовал. Тогда сразу всё идет по одному месту. Скорее нужно найти как записать конкретно первый элемент в переменную. – ZAK ATTACK Nov 16 '21 at 18:44
  • if $key === 0 ..........если числовые ключи...... если не числовые....... то завести счётчик $i – Алексей Шиманский Nov 16 '21 at 18:47
  • if($g == $item["glava"] || $glavaNextRename == true){ $glavaNextRename = true;
    if($g != $item["glava"]){ if (++$i == 1) $glavaNext = $item["glava"]; $glavaNextRename = false;
    } }

    СПАСИБО! Все работает! И сорян за идиотские вопросы, учусь.

    – ZAK ATTACK Nov 16 '21 at 19:05

0 Answers0