PHP: Лишняя итерация цикла

327
10 июля 2017, 18:32

Доброго времени суток, подскажите где я не прав и в какую сторону смотреть. PHP скрипт прогоняет цикл на один раз больше чем нужно. Сам массив:

$res = $db->query($qry)->fetchAll(PDO::FETCH_ASSOC);

При выводе его функцией

print_r($res);

Выводит:

Array ( [0] => Array ( [id] => 18 [login] => первый [email] => 123@s.ru [password] => ghuay ) [1] => Array ( [id] => 19 [login] => 124 [email] => [password] => ) )

Пытаюсь вывести каждый элемент массива вот так:

$i=0;
while ($res[$i] != '')
{
    echo $res[$i]['id'];
    $i=$i+1;
}

(я слышал про инкремент)

еще пытался вывести вот так:

for ($i = 0; $i <= 10; $i++) {
if ($res[$i] != ''){
    echo $res[$i]['id'];
}   
else{
    echo "Конец";
    break;
}
}

В результате получаю и там и там одно и тоже:

1819
Notice: Undefined offset: 2 in /storage/ssd4/008/2124008/public_html/index.php on line 8

Делаю вывод что условие срабатывает и третий раз, хотя по логике не должно. То есть $res[0]['id'] = 18, $res[1]['id'] = 19, а $res[2]['id'] уже нету, следовательно должен выполниться блок else и прерваться цикл, но он выполняется, а потом прерывается.

Answer 1
for($i=0;$i<count($res); $i++){ //проходим в цикле от нуля до количества елементов в масиве
    echo $res[$i]['id']; //каждый раз вывоим елемент масива
    echo '<br/>'; //делаем перенос для того что бы каждый елемент масива был с новой строки
}
READ ALSO
Подскажите, что не так с кодом? [требует правки]

Подскажите, что не так с кодом? [требует правки]

Стоит задача спарсить ВСЕ товары из группы вк$offset=0; $count=200;

277
Wordpress не сохраняет options

Wordpress не сохраняет options

Есть код, который генерирует поля options для каждого курса в LearnPress (знаю, что можно из коробки сделать оплату, но мне нужна оплата по факту обучения,...

306
Слетели стили сайта при переносе на хостинг

Слетели стили сайта при переносе на хостинг

Здравствуйте! Слетели стили сайта при переносе на хостингНе могу понять в чем причина

376