Programación y ejemplos de PHP, jQuery, HTML5, WordPress, MySQL, AMP y htaccess


PHP foreach(): Bucles para recorrer arrays y objetos

Con la función PHP foreach() podemos recorrer los diferentes tipos de arrays y objetos de una manera controlada. Vamos a ver en este post varios ejemplos y sintaxis de esta estructura de control de PHP.

Quizás os parezcan interesantes estas otras funciones para manejar arrays: PHP count(), PHP array_push() o las funciones sort(), asort y ksort() para ordenar arrays.

Unas funciones con funcionamiento similar son:

Sintaxis PHP foreach()

Vamos a ver las 2 opciones de sintaxis que tiene esta función según su web oficial:

En esta primera sintaxis el bucle asigna a la variable $value el valor del elemento actual que está recorriendo en ese momento, en la siguiente iteración devolverá el siguiente valor.

Voy con el segundo tipo de sintaxis:

Esta vez el bucle el valor se asocia a una clave (nombre de campo), podemos llamarlo ‘array asociativo‘.

En ambos casos el bucle siempre comienza por el primer elemento del array u objetofinalizará al terminar de procesar el último elemento.

Ejemplo de PHP foreach con los arrays $_POST y $_GET

Vamos a ver en este primer ejemplo de PHP foreach la manera de recorrer los valores de los arrays de formularios $_POST y $_GET.

En las líneas superiores os he puesto el código del formulario con método POST con sus 2 campos de tipo text que voy a usar en el ejemplo. Ahora os pongo el código PHP:

Explico el código superior:

  • Primero pregunto si el array $_POST tiene valores o está vacío.
  • En caso de tener valores, recorro todos los valores y asigno a la variable ‘clave’ el valor enviado.
  • En la variable $clave se guarda el nombre del input, y en la variable $valor el valor del campo enviado.

Ahora os pongo el código para recoger los valores del mismo formulario pero con método GET:

En cuanto al código de arriba no hay nada nuevo que explicar salvo que el contenido lo cogemos del array $_GET.

Ejemplo de PHP foreach() para recorrer arrays

Os voy a poner el ejemplo que puse en el post ‘PHP array(): Tipos y ejemplos para recorrer arrays‘, su funcionamiento es muy parecido al ejemplo anterior.

Podemos ver el código superior funcionado en el ejemplo para recorrer un array asociativo del post anteriormente mencionado. La misma explicación que puse en los ejemplos de $_POST y $_GET vale para comprender este ejemplo.

Ejemplo de PHP foreach() para recorrer, leer y parsear un XML

Vamos a ver cómo se puede leer un xml con la función PHP foreach(), imaginemos que el XML tiene esta estructura:

El XML contiene información de 2 colores y sus códigos hexadecimales, el código PHP necesario para leer dicha información sería el siguiente:

Podéis ver en esta URL el ejemplo de PHP foreach() para leer un XML en funcionamiento.

Explico el código:

  • En la variable $xml guardo la estructura del XML a través de la función PHP simplexml_load_file().
  • Después recorro el XML y voy guardando en la variable $color los tags de cada color.
  • Por último saco los valores de cada color.

Otras funciones para trabajar con arrays

Os recomiendo leer este otro post sobre funciones para trabajar con arrays en PHP.

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies