Bucle foreach
Desde PHP 4 se implementó este tipo de bucle que permite
recorrer una matriz de manera más fácil.
El bucle foreach
responde al siguiente formato:
foreach($matrix as $clave => $valor){
Cuerpo del bucle;}
Este bucle se repite para cada elemento de la matriz (en inglés las
palabras “for each” significan “para cada uno”).
Veamos
en el siguiente script como funciona:
<?php$ciudades=array("Madrid", "Barcelona", "Londres", "New York", "Los Angeles", "Chicago");foreach ($ciudades as $clave => $valor){echo ("La ciudad con el Indice $clave tiene el nombre $valor. <br>");}echo ("Final de la ejecución.");?>
Al cargar el script veremos o siguiente en el navegador:
Como ve no hemos tenido que preocuparnos de incrementar el índice.
El bucle hace un recorrido secuencial sin intervención de una variable
específica.
Además en cada iteración se almacenan, en las variables $clave y $valor el índice de la matriz y el índice del correspondiente elemento.
Un variante del ejemplo anterior sería:
<?php$ciudades=array("md"=>"Madrid", "ba"=>"Barcelona", "lo"=>"Londres", "ny"=>"New York", "la"=>"Los Angeles", "ch"=>"Chicago");foreach ($ciudades as $clave => $valor){echo ("La ciudad con el índice $clave tiene el nombre $valor. <br />");}echo ("Final de la ejecución.");?>
Además PHP nos
permite anidar bucles foreach para poder recorrer matrices con mas de un
índice.
Suponga que usted
tiene una matriz con los datos de tres amigos suyos que viven en distintas
ciudades. Los datos de cada amigo (nombre, edad y teléfono) constituyen una
matriz, cada una de estas matrices es a su vez, un elemento de otra matriz
identificada por el nombre de cada ciudad.
Desde luego este no
es el sistema mas eficiente para gestionar su agenda, ya que PHP le proporciona
una gama de mejores ténicas, pero centrándonos en el valor didáctico de este
ejemplo veamos como recorrer completamente una matriz de dos índices de forma
útil y práctica
Veamos el siguiente
script:
<?php$amigos=array("Madrid"=>array("nombre"=>"Pedro", "edad"=>32, "telefono"=>"91-999.99.99"), "Barcelona"=>array("nombre"=>"Susana", "edad"=>34, "telefono"=>"93-000.00.00"), "Toledo"=>array("nombre"=>"Sonia", "edad"=>42, "telefono"=>"925-09.09.09"));foreach ($amigos as $ciudad => $cadaUno){echo ("En $ciudad tiene el amigo:<br>");foreach ($cadaUno as $clave => $valor) {echo ($clave.": ".$valor."<br>");}}echo ("Final de la ejecución.");
?>
Veamos como se muestra
en el navegador:
Paso a Paso
- Fíjese en el bucle foreach externo
- Se recorre la matriz principal, llamada $amigos, recuperando el índice de cada elemento (que es el nombre de cada ciudad) en la variable $ciudad.
- El contenido de cada elemento, que es una matriz con los datos del amigo que vive en esa ciudad, se recupera en $cada Uno.
- Así pues en cada interacción del bucle externo, $cada Uno contiene una matriz con los datos de una persona.
- En el bucle interno se recorre esta matriz, recuperando cada dato individual.
Recuerden Comentar Compartir y Darle
Hasta la Próxima
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
Si te hemos ayudado : )
Te agradeceríamos que apoyaras este proyecto
0 comentarios:
Publicar un comentario