Choisissez un test :

while (list($key,$value) = each($array)) ou foreach ?

On commence par un array avec 10 000 valeurs qu'on parcours 100 fois...

sizeof($array) = 10000
Nb parcours = 100

TEST 1 --- for... soyons fou! :-D
<?php for ($i=1;$i<=10000;$i++) {$j=$array[$i];} ?>
Durée: 0.0515 s, Vitesse: 19417804 instructions par seconde

TEST 2 --- while list
<?php while(list($k,$v)=each($array)) {$j=$v;} ?>
Durée: 0.29562 s, Vitesse: 3382664 instructions par seconde

TEST 3 --- foreach
<?php foreach($array as $k=>$v) {$j=$v;} ?>
Durée: 0.0383 s, Vitesse: 26109635 instructions par seconde

TEST 4 --- foreach
<?php foreach($array as $v) {$j=$v;} ?>
Durée: 0.02826 s, Vitesse: 35390491 instructions par seconde


Et maintenant on test sur un tableau beaucoup plus petit (5 éléments) parcouru 200 000 fois

sizeof($array) = 5
Nb parcours = 200000

TEST 5 --- for... soyons fou! :-D
<?php for ($i=1;$i<=5;$i++) {$j=$array[$i];} ?>
Durée: 0.09419 s, Vitesse: 10616932 instructions par seconde

TEST 6 --- while list
<?php while(list($k,$v)=each($array)) {$j=$v;} ?>
Durée: 0.35778 s, Vitesse: 2794975 instructions par seconde

TEST 7 --- foreach
<?php foreach($array as $k=>$v) {$j=$v;} ?>
Durée: 0.05841 s, Vitesse: 17120936 instructions par seconde

TEST 8 --- foreach
<?php foreach($array as $v) {$j=$v;} ?>
Durée: 0.04296 s, Vitesse: 23280090 instructions par seconde

Conclusion...

Parfois c'est utile d'être fou ;-) Lorsque le tableau est un banal
$array[0]=...
$array[1]=...
$array[i]=...;

Le for est plus rapide si le tableau est volumineux.
Le while list est le grand perdant de ce test. Son seul avantage semble d'utiliser moins de mémoire que le foreach mais c'est tout.
Le foreach consomme plus de mémoire mais est plus rapide pour des petits tableaux. Ceci s'explique puisque le foreach doit instantier $key et $value, ce qui est très rapide pour des petits tableaux, mais qui peut devenir une perte de temps pour une grande quantité de données.
Pour le as $key=>$value, si $key n'est pas utilisé il faut l'enlever pour gagner de la vitesse.