0Pricing
PHP Academy · Lección

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
// cherry

foreach 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: London

foreach 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=40

Recorrer 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 valores
  • foreach ($arr as $key => $val) para recorrer pares clave-valor
  • Utilice la referencia &$val para modificar directamente los valores; elimine siempre la referencia después
  • break y continue funcionan 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

  1. if, elseif y else
  2. Instrucciones switch y match
  3. Bucles for y while
  4. foreach y control de bucles
← Volver a PHP Academy