Sacar el array de la funcion y globalizar la variable a la que pertenece:
Código PHP:
<?php
$a = array('foo', 'bar', 'candy', 'vegetable', 'fruits');
function foo(){
global $a;
echo current($a) . ' ';
if(next($a) !== false){
foo();
}
}
foo();
?>
El error? Que al colocar el array dentro de la funcion, no puede avanzar el puntero desde el ultimo llamado de la misma, obteniendo siempre el primer valor.
Bueh, no me se dar a entender :P