PHP proporciona varias formas de recorrer arrays utilizando tanto funciones de iteración de arrays como construcciones del lenguaje: array_walkarray_maparray_filterforeachlisteach, y for bucles. En esta página demostramos y describimos foreach y otras construcciones de bucle. Cubrimos las funciones de iteración en otra página.

foreach

El bucle foreach de PHP proporciona una forma conveniente de iterar sobre arrays. Hay dos formas: una utiliza tanto la clave como el valor de cada entrada del array mientras que la otra utiliza sólo el valor. Primero demostramos la forma key => value:

El cuerpo del bucle utiliza echo para mostrar la clave y el valor de cada elemento del array sucesivamente.

En este ejemplo, foreach utiliza sólo el valor de los elementos del array:

$pets = ;foreach ($pets as $val) { echo "$val \n";}/*Morie Miki Halo Winnie */

La construcción foreach puede utilizarse para modificar los valores del array que atraviesa utilizando el signo de referencia (&):

list/each

Otra forma común de recorrer arrays utiliza un bucle while con la construcción de lenguaje list y la función each. El siguiente ejemplo consigue el mismo resultado que el primer foreach ejemplo mostrado anteriormente:

Al iterar sobre el array, la función each se utiliza para devolver el par clave-valor actual y avanzar el puntero del array. La función list se utiliza para asignar la clave y el valor a las variables. El bucle while termina cuando se alcanza el último elemento del array. La función reset se invoca para restaurar el puntero del array al primer elemento del mismo.

La construcción listeach puede utilizarse tanto con la clave como con el valor, o sólo con el valor. El siguiente ejemplo produce el mismo resultado que el segundo foreach ejemplo mostrado anteriormente:

$pets = ;reset($pets);while ( list(, $val) = each($pets) ) { echo "$val \n";}/*Morie Miki Halo Winnie*/

for

Se puede utilizar un bucle for para iterar sobre arrays indexados numéricamente, como demostramos aquí:

$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { echo "$ar \n";}/*Rudi Morie Halo Miki */

El ejemplo anterior utilizaba echo para mostrar el valor actual en cada iteración del bucle. También se puede utilizar un bucle for para modificar los valores, como demuestra lo siguiente:

$ar = ;for ($i=0, $len=count($ar); $i<$len; $i++) { $ar *= 2;}print_r($ar);/* Array( => 2 => 4 => 6 => 8) */

Funciones de iteración de arrays en PHP

Averigua más sobre cómo recorrer arrays en PHP utilizando las funciones de iteración: array_walkarray_map, y array_filter.

Volver al principio

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *