Inicio > Cursos > PHP > Bucles y Control de Flujo
PHPFundamentos de PHPLección 5 de 15

Bucles y Control de Flujo

PHP tiene cuatro tipos de bucles: for para repetición con contador (clásico de C), while para repetir mientras una condición sea true, do-while que siempre ejecuta al menos una vez, y foreach especialmente diseñado para arrays y objetos.

El foreach en PHP es muy versátil: para arrays indexados es foreach ($array as $valor) y para arrays asociativos (clave-valor) es foreach ($array as $clave => $valor), dándote acceso tanto a la clave como al valor en cada iteración.

Los arrays en PHP son tan importantes que el foreach está diseñado específicamente para ellos. A diferencia de Java o C# donde hay muchas clases de colección, PHP tiene prácticamente una sola estructura (el array) que sirve como lista indexada, diccionario asociativo, o mezcla de ambos. break sale del bucle inmediatamente, continue salta a la siguiente iteración. PHP también tiene funciones de array funcionales (array_map, array_filter, array_reduce) que evitan escribir loops manuales.

<?php
// for
for ($i = 0; $i < 5; $i++) {
    echo $i . " "; // 0 1 2 3 4
}

// while
$contador = 0;
while ($contador < 5) {
    echo $contador . " ";
    $contador++;
}

// do-while
$n = 0;
do {
    echo $n . " ";
    $n++;
} while ($n < 3);

// foreach con array indexado
$frutas = ["manzana", "pera", "uva"];
foreach ($frutas as $fruta) {
    echo strtoupper($fruta) . "\n";
}

// foreach con clave => valor
$edades = ["Ana" => 25, "Bob" => 30, "Carlos" => 28];
foreach ($edades as $nombre => $edad) {
    echo "$nombre tiene $edad años\n";
}

// break y continue
for ($i = 0; $i < 10; $i++) {
    if ($i === 5) continue; // Salta el 5
    if ($i === 8) break;    // Sale en 8
    echo $i . " ";
}

// Sintaxis alternativa para HTML
?>
<?php foreach ($frutas as $fruta): ?>
    <li><?= htmlspecialchars($fruta) ?></li>
<?php endforeach; ?>
Consejo🔄 La sintaxis alternativa (foreach... endforeach, if... endif) es más legible cuando mezclas PHP con HTML en plantillas.
← Condicionales y matchFunciones y Parámetros →

Practica esta lección

Resuelve los ejercicios del curso de PHP en la app, gratis y con corrección automática.

Empezar a practicar