Introducción
A la hora de trabajar con arreglos, vectores, listas o arrays en PHP siempre necesitaremos alguna forma de recorrerlos o iterarlos.
PHP ofrece 2 formas de hacerlo, una de ellas es la que conocemos: un ciclo for; y la otra forma es con un ciclo foreach.
Arreglo de ejemplo
Vamos a iterar sobre un arreglo de animales:
<?php $animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"]; ?>
Es un arreglo simple pero bastará para explicar cómo recorrerlo.
Con for
Podemos recorrer un arreglo con un ciclo for. Sólo tenemos que obtener la longitud del mismo con count.
Para imprimir los valores, el código de ejemplo queda así:
<?php $animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"]; for ($x = 0; $x < count($animales); $x++) { $animal = $animales[$x]; echo $animal; echo "<br><br>"; #Saltos de línea } ?>
Ahí los imprimimos, pero podemos hacer cualquier cosa con los valores, fue sólo para ejemplificar.
Con for, optimizado
Hace un momento utilizamos count para contar los valores. Pero en cada iteración del ciclo, se llamaba a count.
Eso es una mala práctica, pues en arreglos largos o grandes nuestro script tomará más recursos e incluso más tiempo.
Es mejor obtener la longitud y guardarla en una variable aparte, así sólo llamamos a count una vez.
Así se ve el código optimizado:
<?php $animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"]; $longitud = count($animales); for ($x = 0; $x < $longitud; $x++) { $animal = $animales[$x]; echo $animal; echo "<br><br>"; #Saltos de línea }
El resultado es el mismo pero el rendimiento ha sido mejorado.
Con foreach
Finalmente veamos el método más amigable para el ser humano: el ciclo foreach.
Para recorrer el arreglo, podemos hacer esto:
<?php $animales = ["Perro", "Gato", "Vaca", "Serpiente", "Oso"]; foreach ($animales as $animal) { echo $animal; echo "<br><br>"; #Saltos de línea }
Conclusión
En este caso lo hicimos con un arreglo de una dimensión, pero podemos recorrer arreglos de cualquier forma y de cualquier tipo.
Aquí las referencias a foreach.
Pingback: Enviar varios archivos a PHP con AngularJS y FormData - Parzibyte's blog