Nie. mysql_fetch_array
po prostu zwraca następny wiersz wyniku i przesuwa wewnętrzny wskaźnik. Nie zapętla się. (Wewnętrznie może, ale nie musi, używać gdzieś pętli, ale to nieistotne).
while ($row = mysql_fetch_array($result)) {
...
}
Działa to w następujący sposób:
mysql_fetch_array
pobiera i zwraca następny wiersz- wiersz jest przypisany do
$row
- wyrażenie jest oceniane i jeśli jest oceniane jako
true
, zawartość pętli jest wykonywana - procedura zaczyna się od nowa
Działa to w następujący sposób:
mysql_fetch_array
pobiera i zwraca następny wiersz- wiersz jest przypisany do
$row
foreach
zapętla zawartość tablicy i wykonuje zawartość pętli tyle razy, ile jest elementów w tablicy
W obu przypadkach mysql_fetch_array
robi dokładnie to samo. Masz tylko tyle pętli, ile piszesz. Jednak obie konstrukcje nie robią tego samego. Drugi będzie działał tylko na jednym wierszu wyniku, podczas gdy pierwszy zapętli się na wszystkich wierszach.