foreach y control de bucles
Recorra arrays con foreach y utilice break y continue.
foreach y control de bucles es una lección gratuita de PHP Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de PHP Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de PHP Academy incluye 4 lecciones en total.
foreach: el bucle para arrays
foreach es la forma idiomática de recorrer arrays y objetos en PHP; no es necesario llevar un índice manualmente.
foreach con arrays indexados
Recorra los valores de un array indexado:
<?php
$fruits = ['apple', 'banana', 'cherry'];
foreach ($fruits as $fruit) {
echo $fruit . PHP_EOL;
}
// apple
// banana
// cherryforeach con clave => valor
Obtenga tanto la clave como el valor en cada iteración:
<?php
$person = ['name' => 'Alice', 'age' => 30, 'city' => 'London'];
foreach ($person as $key => $value) {
echo "$key: $value" . PHP_EOL;
}
// name: Alice
// age: 30
// city: Londonforeach anidado
Recorra arrays de arrays, como conjuntos de resultados de una base de datos:
<?php
$users = [
['name' => 'Alice', 'role' => 'admin'],
['name' => 'Bob', 'role' => 'user'],
];
foreach ($users as $user) {
echo $user['name'] . ' is ' . $user['role'] . PHP_EOL;
}Modificar elementos de un array
Para modificar valores de un array dentro de foreach, utilice una referencia &$value:
<?php
$prices = [10, 20, 30];
foreach ($prices as &$price) {
$price *= 1.1; // 10% price increase
}
unset($price); // always unset after reference loop!
print_r($prices); // [11, 22, 33]break en foreach
Utilice break para salir antes de tiempo de un bucle foreach:
<?php
$ids = [1, 2, 3, 4, 5];
$target = 3;
foreach ($ids as $id) {
if ($id === $target) {
echo 'Found: ' . $id;
break;
}
}continue en foreach
Utilice continue para omitir elementos específicos:
<?php
$numbers = [1, 2, 3, 4, 5, 6];
foreach ($numbers as $n) {
if ($n % 2 === 0) continue; // skip evens
echo $n . ' '; // 1 3 5
}list() con foreach
Desestructure arrays internos directamente con list() o con la forma abreviada []:
<?php
$coords = [[10, 20], [30, 40], [50, 60]];
foreach ($coords as [$x, $y]) {
echo "x=$x, y=$y" . PHP_EOL;
}
// x=10, y=20
// x=30, y=40Recorrer objetos
foreach funciona con objetos: de forma predeterminada, recorre sus propiedades públicas:
<?php
class Config {
public string $host = 'localhost';
public int $port = 3306;
public string $db = 'myapp';
}
foreach (new Config() as $key => $val) {
echo "$key = $val" . PHP_EOL;
}Un generador como destino de foreach
Los generadores de PHP permiten recorrer grandes conjuntos de datos sin cargarlos por completo en la memoria:
<?php
function range100(): Generator {
for ($i = 1; $i <= 100; $i++) {
yield $i;
}
}
foreach (range100() as $num) {
if ($num > 5) break;
echo $num . ' '; // 1 2 3 4 5
}array_walk frente a foreach
array_walk aplica una función de callback a cada elemento directamente; es una alternativa a foreach para transformaciones sencillas:
<?php
$names = ['alice', 'bob', 'carol'];
array_walk($names, function (&$name) {
$name = ucfirst($name);
});
print_r($names); // ['Alice', 'Bob', 'Carol']Comprobación rápida
Al recorrer un array por referencia en foreach, ¿qué debe hacer después del bucle?
Resumen: foreach y control de bucles
Puntos clave:
foreach ($arr as $val)para recorrer valoresforeach ($arr as $key => $val)para recorrer pares clave-valor- Utilice la referencia
&$valpara modificar directamente los valores; elimine siempre la referencia después breakycontinuefuncionan dentro de foreach- Desestructure arrays internos con
[$a, $b] - Los generadores permiten que foreach procese grandes conjuntos de datos de forma eficiente en memoria
Preguntas frecuentes
¿La lección «foreach y control de bucles» es gratis?
Sí — el texto completo de «foreach y control de bucles» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de PHP Academy, actualiza a CoddyKit PRO. El curso de PHP Academy incluye 4 lecciones en total.
¿Qué aprenderé en «foreach y control de bucles»?
Recorra arrays con foreach y utilice break y continue. Practicas PHP Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar PHP Academy?
No se requiere experiencia previa. PHP Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «foreach y control de bucles»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de PHP Academy?
Sí. Cada lección de PHP Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- if, elseif y else
- Instrucciones switch y match
- Bucles for y while
- foreach y control de bucles