No. mysql_fetch_array
restituisce semplicemente la riga successiva del risultato e fa avanzare il puntatore interno. Non va in loop. (Internamente può o non può usare qualche loop da qualche parte, ma è irrilevante.)
while ($row = mysql_fetch_array($result)) {
...
}
Questo fa quanto segue:
mysql_fetch_array
recupera e restituisce la riga successiva- la riga è assegnata a
$row
- l'espressione viene valutata e se restituisce
true
, i contenuti del ciclo vengono eseguiti - la procedura ricomincia
Questo fa quanto segue:
mysql_fetch_array
recupera e restituisce la riga successiva- la riga è assegnata a
$row
foreach
scorre il contenuto dell'array ed esegue il contenuto del ciclo tante volte quante sono le voci nell'array
In entrambi i casi mysql_fetch_array
fa esattamente la stessa cosa. Hai solo tanti loop quanti ne scrivi. Entrambi i costrutti non fanno la stessa cosa però. Il secondo agirà solo su una riga del risultato, mentre il primo scorrerà su tutte le righe.