Доброго времени суток, подскажите где я не прав и в какую сторону смотреть. 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 и прерваться цикл, но он выполняется, а потом прерывается.
for($i=0;$i<count($res); $i++){ //проходим в цикле от нуля до количества елементов в масиве
echo $res[$i]['id']; //каждый раз вывоим елемент масива
echo '<br/>'; //делаем перенос для того что бы каждый елемент масива был с новой строки
}
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники