Php al igual que otros lenguajes de programación tiene herramientas como los bucles para usos como recorrer arrays, printar variables o cualquier tipo de acción que se te ocurra.

Has llegado a un punto en el que necesitas recurrir a bucle para obtener los valores de un array o bien no recuerdas algún tipo de bucle en php y has caído aquí para recordarlo.

Pues hoy te voy a mostrar varias variantes de bucles en php y sus usos.

El bucle while en PHP

El bucle while se utiliza para recorrer un array o realizar acciones cuando no sabemos realmente el final de este. Por ejemplo, tenemos un array del que no sabemos su longitud y usaremos el bucle while para acceder a sus posiciones.

Necesitamos printar 5 números pares que contiene el array, pero no sabemos las posiciones ni su longitud (aunque en este caso siempre podríamos usar count(array) para conocer su límite, pero lo vamos a omitir para el ejemplo).

 

 

En este pequeño bucle la función de la variable “$final” es marcar el límite de nuestro bucle. Cuando hemos imprimido 5 números y este dato lo conocemos porqué hemos puesto una condicional que controla el valor de la variable “$numeros_pares”, damos valor “false” a la variable “$final” para salir del bucle.

La variable “$numeros_pares” incrementa con el signo “++” cada vez que se detecte un valor par en la posición del array recorrida.

El array lo recorremos por cada vuelta gracias al a instrucción “$i++” que incrementa en 1 el valor de la variable y nos permite acceder a la siguiente posición.

Sabemos que el valor de la posición array es un número par usando la instrucción “$array[$i]%2==0” que realiza una comparación que traducida al castellano sería “si dividimos el valor entre 2 y el resultado es 0” coincidiendo con el comportamiento de un número par.

Bucle Do while

Los bucles do while lo utilizamos de la misma manera que el bucle while con la diferencia que, el bucle do while se ejecutará almenos una vez, ya que primero realizamos la acción y posteriormente controlamos el final de bucle.

Vamos a realizar un bucle en el que queremos imprimir el primer valor del array, y solo se detendrá cuando encontremos un valor impar.

Si encontráramos que el primer valor es impar, el código imprimiría la primera posición pero se detendría, como en el ejemplo que te muestro.

 

En este ejemplo se  imprimiría el primer valor, posteriormente se comprobaría si el valor imprimido es par. Cómo en el array disponemos del primer valor impar, el do while se detendría por no cumplir la condición.

Al entrar en el “do”, la variable “$i” vale -1. La primera instrucción incrementa en 1. Por tanto tendría un valor “0” inicialmente. La siguiente instrucción imprime la posición 0 del array ($array[0]) que coincide con el valor 5.

Llegados a la comprobación del bucle tenemos el primer valor es 5 y el condicional comprueba si es número par ($array[$i]%2==0), como no se cumple, finalizaría con una impresión.

El bucle for

Lo utilizamos cuando queremos recorrer un array o realizar operaciones conociendo el final de este. Vamos a acumular en una variable de tipo string todos los valores de un array.

 

La condición del  for controla el final del recorrido del bucle desde la posición 0 del array hasta la posición final con “count()”,  que devuelve la cantidad de posiciones  y por cada vuelta incrementa en uno el valor de “$i” con ($i++).

La parte final del condicional puede ser diferente de  ($i++). Podemos recorrer el array de dos en dos o de tres en tres ($i+=2). También podemos realizar el bucle empezando el array por el final  yacabando en el principio. El valor de  $i inicial en la última posición del array ($i= (count($array))-1) y recorriendolo restando posiciones ($i–).

Por cada vuelta concatenamos en una variable tipo string la el valor de la posición actual del array ($variable_text.= $array[$i]), una vez llegados a la última posición,  el bucle se detendría y se imprimiría la variable $variable_text.

Bucle foreach

foreach es un bucle utilizado para arrays asociativos y nos ayudan a recorrerlo usando la clave valor. Si disponemos de un array asociativo como este, recorreríamos el array usando foreach  imprimiendo el contenido. $array[“uno” => 1, “dos” => 2, “tres” => 3, “cuatro” => 4];

 

Este ejemplo recorre el array asociativo y por cada posición tenemos a disposición la variable $clave y $valor. Estas variables hacen referencia a la clave y valor  del array.

Por tanto la impresión de la primera posición sería:

echo ‘La clave’ . “uno” . ‘ contiene el valor: ‘ . 1;

Break

La instrucción break no es un bucle sinó una utilidad dentro de un bucle. Lo usamos para romper o parar un bucle en lugar de utilizar variables y condicionales para ese fin.

Retomando el ejemplo anterior del bucle while podríamos sustituir las siguientes instrucciones únicamente usando la instrucción break.

Puede que también te interese calcular la edad en php usando la fecha de nacimiento.

De esta manera no necesitamos setear ni estar pendientes de una variable únicamente. Usamos la instrucción break para salir de el.

¿Te ha servido de utilidad el post sobre los bucles en php?. Déjanos en la caja comentarios tu opinión sobre el post. También puedes hacerlo si conoces algún ejemplo adicional sobres los bucles en php.