Estructuras repetitivas while y do-while en PHP
¡Bienvenido a una nueva lección de nuestro curso básico de PHP 8. Hoy vamos a meternos con las estructuras repetitivas while y do-while, esas herramientas geniales que hacen que tu programa repita acciones como si fuera un robot incansable. Si ya manejas condicionales if-else, esto es el siguiente paso para automatizar tareas. Todo va a ser súper claro, práctico y con ejemplos que te van a flipar. ¡Empecemos!
¿Qué son las estructuras repetitivas while y do-while?
Las estructuras repetitivas, o bucles, son como las cintas de correr del código: ejecutan un bloque de instrucciones una y otra vez mientras se cumpla una condición. Son perfectas cuando necesitas repetir algo (como contar, sumar o recorrer datos) hasta que se logra un objetivo o la condición dice «para».
En PHP, tenemos varias opciones como while, do-while, for y foreach, pero hoy nos enfocamos en while y do-while. La diferencia está en cómo y cuándo chequean la condición, ¡y eso lo veremos en acción!
La estructura while: Repite mientras sea verdad
El bucle while es sencillo: revisa una condición y, si es true, ejecuta el código dentro. Si la condición arranca en false, no hace nada. Mira la receta básica:
while (condición) {
// Código que se repite mientras la condición sea verdadera
}
Ejemplo práctico con while
¡Manos a la obra! Crea un archivo repetitivas.php en curso_php8 (dentro de C:\xampp\htdocs) y prueba esto:
<?php
$cont = 0;
while ($cont < 10) {
$cont++;
echo "Mensaje enviado número: " . $cont . "<br>";
}
?>
Abre http://localhost/curso_php8/repetitivas.php. Verás:
Mensaje enviado número: 1
Mensaje enviado número: 2
Mensaje enviado número: 10
¿Qué pasó?
- $cont empieza en 0.
- El while chequea si $cont < 10. Como es true, entra al bucle.
- Dentro, $cont++ suma 1 cada vez y mostramos el mensaje.
- Cuando $cont llega a 10, la condición se vuelve false y el bucle para.
Truco: Si no pones $cont++, el bucle se vuelve infinito y tu servidor dirá «¡basta!». Siempre asegúrate de que la condición cambie.
La estructura do-while: Hazlo al menos una vez
El bucle do-while es parecido, pero con un giro: el código se ejecuta al menos una vez antes de revisar la condición. Esto lo hace ideal cuando quieres garantizar una ejecución inicial. Aquí va la fórmula:
do {
// Código que se ejecuta al menos una vez
} while
Ejemplo práctico con do-while
Añade esto a tu repetitivas.php:
<?php
$cont2 = 10;
$suma = 0;
do {
$suma = $suma + $cont2;
$cont2++;
} while ($cont2 < 10);
echo "La sumatoria es: " . $suma;
?>
La sumatoria es: 10
¿Qué pasó?
- $cont2 empieza en 10 y $suma en 0.
- El do suma $cont2 a $suma (10 + 0 = 10) y sube $cont2 a 11.
- Luego revisa $cont2 < 10. Como 11 no es menor que 10, para ahí.
- Por eso solo se ejecuta una vez, pero si $cont2 empezara en 5, sumaría 5 + 6 + 7 + 8 + 9 = 35.
Prueba cambiar $cont2 a 5 y recarga. ¡Verás la diferencia!
Diferencia clave
- while: Revisa primero, luego actúa. Si la condición es false de entrada, no pasa nada.
- do-while: Actúa primero, luego revisa. Siempre corre al menos una vez.
Ejemplos prácticos para brillar
Ejemplo 1: Contando hacia atrás
<?php
$numero = 5;
while ($numero > 0) {
echo "Cuenta regresiva: " . $numero . "<br>";
$numero--;
}
echo "¡Despegue!";
?>
Resultado:
Cuenta regresiva: 5
Cuenta regresiva: 4
Cuenta regresiva: 3
Cuenta regresiva: 2
Cuenta regresiva: 1
¡Despegue!
Ejemplo 2: Suma hasta que digas basta
<?php
$total = 0;
$i = 0;
do {
$total += $i;
$i++;
} while ($i <= 5);
echo "Suma total de 0 a 5: " . $total;
?>
Resultado:
Suma total de 0 a 5: 15
Ejercicios para practicar
¡Tu turno de rockearlo! Ve a curso_php8 y prueba estos retos:
- Tabla de multiplicar del 7
- Crea tabla7.php:
<?php
$num = 1;
while ($num <= 10) {
$resultado = 7 * $num;
echo "7 x $num = $resultado<br>";
$num++;
}
?>
- Factorial con do-while
Crea factorial.php:
<?php
$numero = 5;
$factorial = 1;
$contador = 1;
do {
$factorial *= $contador;
$contador++;
} while ($contador <= $numero);
echo "El factorial de $numero es: $factorial";
?>
Ejecuta en localhost/curso_php8/ y juega con los valores (prueba $numero = 3 o 6).
Consejos para no enredarte
- Cambia la condición: Siempre incluye algo como $cont++ o $i– para que el bucle no sea eterno.
- while vs do-while: Usa while si no estás seguro de que deba correr al menos una vez; usa do-while si quieres esa garantía.
- Prueba paso a paso: Usa echo dentro del bucle para ver cómo cambia cada variable.
¡A por más repeticiones!
¡Gran trabajo, genio! Ahora dominas while y do-while como todo un pro, listos para repetir tareas sin cansarte. En la próxima lección, veremos for y foreach para llevar tus bucles al siguiente nivel. Si algo no te queda claro, déjame un comentario o revisa el código en GitHub.
Lo que aprendiste hoy:
- Qué son: Bucles para repetir código mientras una condición diga «sí».
- while: Revisa primero, actúa si es true. Perfecto para contar o recorrer.
- do-while: Actúa al menos una vez, luego revisa. Ideal cuando necesitas empezar sí o sí.
- Ejemplos vivos: Hiciste mensajes, sumas y cuentas regresivas como crack.
- Practicaste: Armaste la tabla del 7 y calculaste factoriales. ¡Eso es poder!
- Tip del pro: Asegúrate de que la condición cambie o te quedarás girando forever.

