Nej. mysql_fetch_array
returnerer bare den næste række af resultatet og flytter den interne markør frem. Den sløjfer ikke. (Internt bruger den måske en eller anden løkke et eller andet sted, men det er irrelevant.)
while ($row = mysql_fetch_array($result)) {
...
}
Dette gør følgende:
mysql_fetch_array
henter og returnerer den næste række- rækken er tildelt
$row
- udtrykket evalueres, og hvis det evalueres til
true
, udføres løkkens indhold - proceduren begynder igen
Dette gør følgende:
mysql_fetch_array
henter og returnerer den næste række- rækken er tildelt
$row
foreach
sløjfer over indholdet af arrayet og udfører løkkens indhold lige så mange gange, som der er elementer i arrayet
I begge tilfælde mysql_fetch_array
gør præcis det samme. Du har kun så mange loops, som du skriver. Begge konstruktioner gør dog ikke det samme. Den anden vil kun virke på én række af resultatet, mens den første vil løkke over alle rækker.