Los bucles en PHP se utilizan para ejecutar el mismo bloque de código un número específico de veces. PHP soporta los siguientes cuatro tipos de bucles.

  • for − Recorre un bloque de código un número especificado de veces.
  • foreach − Recorre un bloque de código para cada elemento de una matriz.
  • while − Recorre un bloque de código siempre y cuando se cumpla una condición especificada.
  • do-while: recorre un bloque de código una vez y, a continuación, repite el bucle siempre que se cumpla una condición especial.

Además, también explicaremos cómo se utilizan las sentencias continue y break en PHP para controlar la ejecución de loops.

Bucle for de PHP

La instrucción for se utiliza cuando se sabe cuántas veces se desea ejecutar una instrucción o un bloque de instrucciones.

Sintaxis

for(initialization; condition; increment){
   code to be executed;
}

El inicializador se utiliza para establecer el valor inicial para el contador del número de iteraciones de bucle. Aquí se puede declarar una variable para este propósito y es tradicional llamarla $i.

Ejemplo

En el ejemplo siguiente se realizan cinco iteraciones y se cambia el valor asignado de dos variables en cada paso del bucle:

<?php
   $a = 0;
   $b = 0;

   for( $i = 0; $i<5; $i++ ) {
      $a += 10;
      $b += 5;
   }

   echo ("At the end of the loop a = $a and b = $b" );
?>

Producirá el siguiente resultado:

At the end of the loop a = 50 and b = 25

Bucle foreach de PHP

La instrucción foreach se utiliza para recorrer matrices en bucle. Para cada pasada, el valor del elemento de la matriz actual se asigna a $value y el puntero de la matriz se mueve en uno y en la siguiente pasada se procesará el siguiente elemento.

Sintaxis

foreach(arrayas value){
   code to be executed;
}

Ejemplo

Pruebe el siguiente ejemplo para enumerar los valores de una matriz.

<?php
   $array = array( 1, 2, 3, 4, 5);

   foreach( $array as $value ) {
      echo "Value is $value \n";
   }
?>

Producirá el siguiente resultado:

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5

Bucle while de PHP

La instrucción while ejecutará un bloque de código siempre y cuando una expresión de prueba sea verdadera.

Si la expresión de prueba es verdadera, se ejecutará el bloque de código. Una vez ejecutado el código, la expresión de prueba se evaluará de nuevo y el bucle continuará hasta que se determine que la expresión de prueba es falsa.

Sintaxis

while(condition){
   code to be executed;}

Ejemplo

En este ejemplo se reduce un valor de variable en cada iteración del bucle y el contador se incrementa hasta que llega a 10 cuando la evaluación es falsa y el bucle finaliza.

<?php
   $i = 0;
   $num = 50;

   while($i < 10) {
      $num--;
      $i++;
   }

   echo ("Loop stopped at i = $i and num = $num" );
?>

Producirá el siguiente resultado:

Loop stopped at i = 10 and num = 40 

Bucle do-while de PHP

La instrucción do-while ejecutará un bloque de código al menos una vez, luego repetirá el bucle siempre que se cumpla una condición.

Sintaxis

do {
   code to be executed;
}
while (condition);

Ejemplo

En el ejemplo siguiente se incrementará el valor de i al menos una vez, y se continuará incrementando la variable i siempre que tenga un valor inferior a 10 −

<?php
   $i = 0;
   $num = 0;

   do {
      $i++;
   }

   while( $i < 10 );
   echo ("Loop stopped at i = $i" );
?>

Producirá el siguiente resultado:

Loop stopped at i = 10

Declaración PHP break

La palabra clave PHP break se utiliza para terminar la ejecución de un bucle prematuramente.

La instrucción break se encuentra dentro del bloque de instrucciones. Te da un control total y siempre que quieras salir del bucle puedes salir. Después de salir de un bucle, se ejecutará la instrucción inmediata al bucle.

Ejemplo

En el siguiente ejemplo, la prueba de condición se convierte en verdadera cuando el valor del contador llega a 3 y finaliza el bucle.

<?php
   $i = 0;

   while( $i < 10) {
      $i++;
      if( $i == 3 )break;
   }
   echo ("Loop stopped at i = $i" );
?>

Producirá el siguiente resultado:

Loop stopped at i = 3

Declaración PHP continue

La palabra clave PHP continue se usa para detener la iteración actual de un bucle, pero no termina el bucle.

Al igual que la instrucción break, la instrucción continue se sitúa dentro del bloque de instrucciones que contiene el código que ejecuta el bucle, precedido por una prueba condicional. Para la instrucción pass encountering continue, se omite el resto del código del bucle y se inicia el siguiente paso.

Ejemplo

En el siguiente ejemplo, el bucle imprime el valor de la matriz, pero para qué condición se cumple, simplemente omite el código y se imprime el siguiente valor.

<?php
   $array = array( 1, 2, 3, 4, 5);

   foreach( $array as $value ) {
      if( $value == 3 )continue;
      echo "Value is $value \n";
   }
?>

Producirá el siguiente resultado:

Value is 1
Value is 2
Value is 4
Value is 5