Я хотел узнать как получить все строки таблицы поочередно в массив и нашел следующее решение:
$q = mysql_query('SELECT * FROM table');
$res = array();
while ($r = mysql_fetch_assoc($q)) {
$res[] = $r;
}
print_r($res);
Однако здесь я вижу лишь что мы: 1 получаем массив строк из бд, 2 начинаем считывать строку массива циклом while 3 ??? 4 заканчивается считывание и на выходе имеется готовый массив.
Почему вместо бесконечного считывания одной строки код переходит автоматом к следующим, несмотря на то что счётчика нету? Это аналог foreach? Как это работает?
Документация
Возвращает ассоциативный массив, соответствующий полученному ряду и сдвигает вперед внутренний указатель результата.
Также обратите внимание, что расширение mysql
уже очень давно не поддерживается, а в PHP 7 вообще удалено. Используйте PDO или mysqli
Допустим есть файл где храниться ID переписок пользователя построчно, но я не могу использовать константу PHPEOL для перехода на новую строку...