Nej. mysql_fetch_array
returnerar bara nästa rad av resultatet och flyttar fram den interna pekaren. Det går inte i loop. (Internt kanske den använder någon slinga någonstans, men det är irrelevant.)
while ($row = mysql_fetch_array($result)) {
...
}
Detta gör följande:
mysql_fetch_array
hämtar och returnerar nästa rad- raden är tilldelad
$row
- uttrycket utvärderas och om det utvärderas till
true
, exekveras innehållet i loopen - proceduren börjar på nytt
Detta gör följande:
mysql_fetch_array
hämtar och returnerar nästa rad- raden är tilldelad
$row
foreach
loopar över innehållet i arrayen och exekverar innehållet i slingan så många gånger som det finns objekt i arrayen
I båda fallen mysql_fetch_array
gör exakt samma sak. Du har bara så många loopar som du skriver. Båda konstruktionerna gör dock inte samma sak. Den andra kommer bara att agera på en rad av resultatet, medan den första kommer att gå över alla rader.