PHP 4 (PHP3 no) incluye una construcción
foreach, tal como perl y algunos otros
lenguajes. Esto simplemente da un modo fácil de iterar sobre
matrices. foreach funciona solamente con
matrices y devolverá un error si se intenta utilizar con
otro tipo de datos ó variables no inicializadas. Hay dos
sintaxis; la segunda es una extensión menor, pero
útil de la primera:
La primera forma recorre el array dado por
expresion_array. En cada iteración, el
valor del elemento actual se asigna a $value y
el puntero interno del array se avanza en una unidad (así en
el siguiente paso, se estará mirando el elemento siguiente).
La segunda manera hace lo mismo, salvo que la clave del elemento
actual será asignada a la variable $key
en cada iteración.
Nota:
Cuando foreach comienza su primera
ejecución, el puntero interno a la matriz se reinicia
automáticamente al primer elemento de la matriz. Esto
significa que no se necesita llamar a reset()
antes de un bucle foreach.
Nota:
Hay que tener en cuenta queforeach trabaja con
una copia de la matriz especificada y no la lista en si, por ello
el puntero de la lista no es modificado como en la función
each(), y los cambios en el elemento de la
matriz retornado no afectan a la matriz original. De todas
maneras el puntero interno a la matriz original
avanza al procesar la matriz. suponiendo que
bucle foreach se ejecuta hasta el final, el puntero interno a la
matriz estar/aacute; al final de la matriz.
Nota:
foreach no soporta la caracteristica de
suprimir mensajes de error con '@'.
Puede haber observado que las siguientes son funcionalidades idénticas:
Las siguientes también son funcionalidades idénticas:
Algunos ejemplos más para demostrar su uso:
|