Bucles en PHP: while, do while, for y foreach con ejemplos

Bucles en PHP: while, do while, for y foreach con ejemplos

En este artículo vas a aprender a repetir una serie de acciones usando bucles en PHP.

Los distintos tipos de bucles en PHP

Los bucles sirven para ejecutar el mismo bloque de código una y otra vez mientras se cumpla una condición. La idea de fondo es automatizar las tareas repetitivas de un programa para ahorrar tiempo y esfuerzo. PHP admite cuatro tipos de bucles.

  • while – Recorre un bloque de código mientras la condición indicada sea verdadera.
  • do while – el bloque de código se ejecuta una vez y después se evalúa la condición. Si es verdadera, la instrucción se repite mientras la condición indicada siga siéndolo.
  • for – Recorre un bloque de código hasta que el contador alcanza un número determinado.
  • foreach – Recorre un bloque de código para cada elemento de un array.

Al final de este capítulo también sabrás recorrer los valores de un array con el bucle php foreach. El bucle php foreach funciona específicamente con arrays.

Bucle PHP while

La instrucción php while permite repetir un bloque de código mientras la condición indicada en la propia instrucción php while se evalúe como verdadera.

php while

php
while(condition){
    // Código a ejecutar
}

El ejemplo siguiente define un bucle que empieza con $i=1. El bucle seguirá ejecutándose mientras $i sea menor o igual que 3. $i aumentará en 1 en cada vuelta del bucle:

php while

php
$i = 1;
while($i <= 3){
    $i++;
    echo "Le nombre est " . $i . "<br>";
}

Resultado:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Bucle PHP do while

El bucle php do while es una variante del while que evalúa la condición al final de cada iteración. Con un bucle php do while, el bloque de código se ejecuta una vez y después se evalúa la condición. Si la condición es verdadera, la instrucción se repite mientras la condición evaluada siga siendo verdadera.

php while

php
do{
    // Código a ejecutar
}
while(condition);

El ejemplo siguiente define un bucle que empieza con $i=1. Después aumenta $i en 1 y muestra la salida. A continuación se evalúa la condición, y el bucle sigue funcionando mientras $i sea menor o igual que 3.

php do while

php
$i = 1;
do{
    $i++;
    echo "The number is " . $i . "<br>";
}
while($i <= 3);

Resultado:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Diferencia entre los bucles while y do while

El bucle php while se diferencia del bucle php do while en un punto importante: en un bucle php while, la condición se comprueba al principio de cada iteración, así que si la expresión condicional es falsa el bucle no llega a ejecutarse nunca.

En un bucle php do while, en cambio, el cuerpo se ejecuta siempre al menos una vez aunque la expresión condicional sea falsa, porque la condición se evalúa al final de la iteración y no al principio.

Bucle PHP for

El bucle php for repite un bloque de código mientras se cumpla una condición. Se usa sobre todo para ejecutar un bloque de código un número determinado de veces.

php for

php
for(initialisation; condition; incrementation){
    // Código a ejecutar
}

Los parámetros del bucle php for significan lo siguiente:

  • inicialización – sirve para inicializar las variables del contador, se evalúa una sola vez, sin condición, antes de la primera ejecución del cuerpo del bucle.
  • condición – al principio de cada iteración se evalúa la condición. Si da true, el bucle continúa y se ejecutan las instrucciones anidadas. Si da false, la ejecución del bucle termina.
  • incremento – actualiza el contador del bucle con un nuevo valor. Se evalúa al final de cada iteración.

El ejemplo siguiente define un bucle que empieza con $i=1. El bucle continuará mientras $i sea menor o igual que 3. La variable $i aumentará en 1 en cada vuelta:

php for

php
for($i=1; $i<=3; $i++){
    echo "Le nombre est " . $i . "<br>";
}

Resultado:

Le nombre est 2
Le nombre est 3
Le nombre est 4

Bucle PHP foreach

El bucle php foreach se usa para iterar sobre arrays.

php foreach array

php
foreach($array as $value){
    // Código a ejecutar
}

El ejemplo siguiente muestra un bucle que imprime los valores del array dado:

php foreach array

php
$colors = array("Rouge", "Vert", "Bleu");

// Recorre el array de colores
foreach($colors as $value){
    echo $value . "<br>";
}

Resultado:

Rouge
Vert
Bleu

Existe otra sintaxis del bucle php foreach, que es una extensión de la anterior.

php foreach key value

php
foreach($array as $key => $value){
    // Código a ejecutar
}

php foreach key value

php
$superhero = array(
    "nom" => "Peter Parker",
    "email" => "peterparker@marvel.com",
    "âge" => 16
);

// Recorre el array del superhéroe
foreach($superhero as $key => $value){
    echo $key . " : " . $value . "<br>";
}

Resultado:

nom : Peter Parker
email : peterparker@mail.com
âge : 18

Conclusión

Con esto ya deberías manejar los bucles sin problemas. Si buscas más artículos para afinar tus conocimientos de PHP, te recomiendo leer mi artículo sobre la creación y el formato de fechas en PHP y también mi tutorial de Laravel con las bases para trabajar con un framework PHP.

PHP

Damien Flandrin Desarrollador web desde 2010, creador de Gekkode y de Email Impact. Cada artículo se prueba en un proyecto real antes de publicarse. Contacto
Newsletter

Las nuevas pruebas, tutoriales y proyectos, por correo.

Pruebas reproducibles, código versionado, resultados fechados. Nunca spam.