Bucle foreach
Parte de la sección Fundamentos del Journey de PHP de Coddy — lección 49 de 71.
Al trabajar con arrays, a menudo necesitas recorrer cada elemento uno por uno. Aunque podrías usar un for bucle con un contador de índice, PHP proporciona una solución más limpia: el foreach bucle.
El bucle foreach está diseñado específicamente para iterar sobre arreglos. Maneja automáticamente el conteo y proporciona acceso directo a cada elemento.
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>Esto produce:
apple
banana
cherryLa sintaxis es sencilla: foreach ($array as $item). En cada iteración, el siguiente elemento del array se asigna a $item, y puedes usarlo dentro del cuerpo del bucle.
Compara esto con lograr el mismo resultado con un bucle for:
<?php
$fruits = ["apple", "banana", "cherry"];
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "\n";
}
?>La versión foreach es más corta y fácil de leer. No necesitas gestionar una variable de índice ni preocuparte por la longitud del array—PHP se encarga de todo eso por ti.
Desafío
FácilLee una sola línea de entrada que contenga una lista separada por comas de números (p. ej., 10,25,5,30,15).
Usa un bucle foreach para iterar a través del array y calcular la suma de todos los números. Imprime la suma total.
Ejemplo 1:
Si la entrada es 10,25,5,30,15, la salida debería ser:
85Ejemplo 2:
Si la entrada es 1,2,3,4,5, la salida debería ser:
15Ejemplo 3:
Si la entrada es 100,200,300, la salida debería ser:
600Hoja de referencia
El foreach loop está diseñado específicamente para iterar sobre arrays sin gestionar variables de índice.
Sintaxis básica:
<?php
foreach ($array as $item) {
// use $item
}
?>Ejemplo:
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>Esto es más limpio que usar un for loop con un contador de índice, ya que PHP maneja automáticamente el conteo y la longitud del array.
Pruébalo tú mismo
<?php
// Leer entrada
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);
// TODO: Escribe tu código a continuación para calcular la suma usando un bucle foreach
$sum = 0;
// Mostrar el resultado
echo $sum;
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators