Estructuras repetitivas for y foreach en PHP
Bienvenido a una nueva lección de nuestro curso básico de PHP 8. Hoy vamos a meternos con las estructuras repetitivas for y foreach, dos herramientas súper potentes para repetir acciones como si fueras un DJ mezclando pistas. Si ya dominas while y do-while, esto te va a encantar porque subimos el nivel. Todo va a ser claro, práctico y con ejemplos que te van a flipar. ¡Empecemos!
¿Qué son las estructuras repetitivas for y foreach?
Las estructuras for y foreach son bucles que repiten un bloque de código mientras algo sea cierto, como los while que ya conoces. Pero cada uno tiene su superpoder:
- for: Ideal cuando sabes cuántas veces quieres repetir algo. Es como un temporizador preciso.
- foreach: Perfecto para recorrer arreglos (listas) sin preocuparte por contar. Es como un guía automático.
Ambos te ayudan a automatizar tareas repetitivas, como imprimir números o checar elementos uno por uno.
La estructura for: Repite con control total
El bucle for es tu amigo cuando tienes claro cuántas vueltas necesitas dar. Mira la fórmula mágica:
for (inicialización; condición; incremento/decremento) { // Código que se repite en cada vuelta }
- Inicialización: Donde arrancas (ejemplo: $i = 1).
- Condición: Mientras sea true, el bucle sigue (ejemplo: $i <= 10).
- Incremento/Decremento: Cómo cambias cada vez (ejemplo: $i++).
Ejemplo práctico con for
¡Manos a la obra! Crea un archivo repetitivas_for.php en curso_php8 (dentro de C:\xampp\htdocs) y prueba esto:
<?php for ($i = 1; $i <= 10; $i++) { echo $i . ", "; } ?>
Abre http://localhost/curso_php8/repetitivas_for.php. Verás:
1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
¿Qué pasó?
- $i empieza en 1.
- Mientras $i <= 10 sea true, imprime $i y suma 1 con $i++.
- Cuando $i llega a 11, la condición falla y para.
Variando el for con break
A veces quieres salir antes. Prueba esto:
<?php for ($j = 1; ; $j++) { if ($j > 8) { break; // ¡Para aquí! } echo $j . ", "; } ?>
Resultado:
1, 2, 3, 4, 5, 6, 7, 8,
¿Cómo funciona?
- No pusimos condición en el medio (dejamos ; ;), así que podría ser infinito.
- Pero con if ($j > 8) y break, forzamos la salida cuando $j pasa de 8.
La estructura foreach: El rey de los arreglos
El bucle foreach es tu as bajo la manga para recorrer arreglos sin complicarte. Solo necesitas el arreglo y una variable para cada elemento. Aquí va la receta:
foreach ($arreglo as $valor) { // Código que se repite por cada elemento }
O con clave y valor:
foreach ($arreglo as $clave => $valor) { // Código usando clave y valor }
Ejemplo práctico con foreach
Añade esto a tu repetitivas_for.php:
?php $numeros = array(1, 2, 3, 4, 5); foreach ($numeros as $valor) { $valor *= 2; echo $valor . ", "; } ?>
Resultado:
2, 4, 6, 8, 10,
¿Qué pasó?
- $numeros es un arreglo con 5 valores.
- foreach toma cada $valor, lo multiplica por 2 y lo imprime.
Con nombres y claves
Prueba este otro:
<?php $frutas = array("Naranja", "Uva", "Manzana", "Frutilla"); foreach ($frutas as $indice => $fruta) { echo "Fruta $indice: $fruta<br>"; } ?>
Resultado:
Fruta 0: Naranja
Fruta 1: Uva
Fruta 2: Manzana
Fruta 3: Frutilla
¿Cómo funciona?
- $indice es la posición (0, 1, 2…) y $fruta el valor.
- foreach recorre todo automáticamente, sin contar manualmente.
Ejemplos prácticos para brillar
Ejemplo 1: Pares del 2 al 10
<?php for ($i = 2; $i <= 10; $i += 2) { echo "$i, "; } ?>
Resultado:
2, 4, 6, 8, 10,
Ejemplo 2: Lista de tareas
<?php $tareas = array("Estudiar PHP", "Hacer ejercicios", "Descansar"); foreach ($tareas as $tarea) { echo "Tarea: $tarea<br>"; } ?>
Resultado:
Tarea: Estudiar PHP
Tarea: Hacer ejercicios
Tarea: Descansar
Ejercicios para practicar
¡Tu turno de rockearlo! Ve a curso_php8 y prueba estos retos:
- Tabla de multiplicar del 9
Crea tabla9.php:
<?php for ($i = 1; $i <= 10; $i++) { $resultado = 9 * $i; echo "9 x $i = $resultado<br>"; } ?>
- Busca la marca Renault
Crea concesionario.php:
<?php $marcas = array("Toyota", "Ford", "Renault", "Honda"); $encontrado = false; foreach ($marcas as $marca) { if ($marca == "Renault") { $encontrado = true; break; } } if ($encontrado) { echo "¡Sí, tenemos Renault!"; } else { echo "No, no hay Renault."; } ?>
Ejecuta en localhost/curso_php8/ y juega con los arreglos.
Consejos para no enredarte
- for: Asegúrate de que el incremento ($i++) lleve a la condición a false algún día.
- foreach: Usa &$valor solo si quieres cambiar el arreglo original; si no, omítelo.
- break es tu amigo: Úsalo para salir cuando encuentres lo que buscas.
¡A por más bucles!
¡Gran trabajo, crack! Ahora for y foreach son tus aliados para repetir y recorrer como experto. En la próxima lección, veremos la estructura switch para tomar decisiones de otra forma. Si algo no te queda claro, déjame un comentario.
Lo que aprendiste hoy:
- for: Repites con control total: arrancas, chequeas y cambias en una línea.
- foreach: Recorres arreglos como un guía automático, fácil y rápido.
- Ejemplos vivos: Contaste números y listaste frutas como pro.
- Practicaste: Hiciste la tabla del 9 y buscaste Renault como detective.
- Tip del pro: Usa break para no dar más vueltas de las necesarias.