Non. mysql_fetch_array
renvoie simplement la ligne suivante du résultat et fait avancer le pointeur interne. Ça ne boucle pas. (En interne, il peut ou non utiliser une boucle quelque part, mais ce n'est pas pertinent.)
while ($row = mysql_fetch_array($result)) {
...
}
Cela fait ce qui suit :
mysql_fetch_array
récupère et renvoie la ligne suivante- la ligne est affectée à
$row
- l'expression est évaluée et si elle est évaluée à
true
, le contenu de la boucle est exécuté - la procédure recommence
Cela fait ce qui suit :
mysql_fetch_array
récupère et renvoie la ligne suivante- la ligne est affectée à
$row
foreach
boucle sur le contenu du tableau et exécute le contenu de la boucle autant de fois qu'il y a d'éléments dans le tableau
Dans les deux cas mysql_fetch_array
fait exactement la même chose. Vous avez seulement autant de boucles que vous écrivez. Cependant, les deux constructions ne font pas la même chose. Le second n'agira que sur une ligne du résultat, tandis que le premier bouclera sur toutes les lignes.