GatorV muy bueno tu ejemplo, con tu permiso lo usaré así pq con el propio foreach no hayo manera ;)
ocp001a gracias igualmente ;)
PD: como apunte dejo unas pruebas de tiempo de ejecución de 10.000.000 de iteraciones que he realizado a un bucle while como ha propuesto GatorV y al foreach:
Código while:
while(($value = current($array)) !== false) {
$value = next($array);
}
Código foreach:
foreach($array as $value) {
}
Resultados:
while: 3.6912009716034 segundos
foreach: 4.4662549495697 segundos
Con varias pruebas el while siempre saca una ventaja de alrededor de 0.8 segundos menos, al menos para el bucle tal como lo he probado.
Un saludo