Sentencia Break
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 51 de 71.
A veces necesitas salir de un loop antes de que termine de forma natural. La instrucción break te permite hacer exactamente eso. Detiene inmediatamente el loop y continúa con el código que viene después.
Imagina buscar un valor específico en un array. Una vez que lo encuentras, no tiene sentido comprobar los elementos restantes. Usar break evita iteraciones innecesarias.
<?php
$numbers = [3, 7, 2, 9, 5, 1];
foreach ($numbers as $num) {
if ($num === 9) {
echo "Found 9!\n";
break;
}
echo "Checking $num\n";
}
echo "Search complete";
?>Esto muestra:
Checking 3
Checking 7
Checking 2
Found 9!
Search completeObserva que 5 y 1 nunca se comprueban. En el momento en que el bucle encuentra 9, break sale del bucle por completo y la ejecución salta a «Search complete».
La instrucción break funciona con todos los tipos de bucle: for, while y foreach. Es especialmente útil cuando estás buscando algo o cuando una determinada condición significa que el bucle debe detenerse inmediatamente.
Desafío
FácilLee dos líneas de entrada:
- Una lista de números separados por comas (p. ej.,
4,8,15,16,23,42) - Un número objetivo que buscar
Usa un bucle foreach para buscar el número objetivo en el array. Cuando lo encuentres, imprime Found [target] at index [index]! y usa break para salir inmediatamente del bucle.
Si el bucle termina sin encontrar el objetivo, imprime [target] not found.
Pista: Usa la sintaxis de clave-valor en tu bucle foreach para realizar un seguimiento del índice.
Ejemplo 1:
Si las entradas son 10,25,30,45,50 y 30, la salida debe ser:
Found 30 at index 2!Ejemplo 2:
Si las entradas son 5,10,15,20,25 y 20, la salida debe ser:
Found 20 at index 3!Ejemplo 3:
Si las entradas son 1,2,3,4,5 y 99, la salida debe ser:
99 not foundPruébalo tú mismo
<?php
// Leer la entrada
$numbers = explode(',', trim(fgets(STDIN)));
$target = trim(fgets(STDIN));
// TODO: Escribe tu código debajo
// Usa un bucle foreach con sintaxis de clave-valor para buscar el target
// Cuando se encuentre, imprime "Found [target] at index [index]!" y break
// Si no se encuentra después del bucle, imprime "[target] not found"
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenasPractica por tu cuenta: Compilador de PHP online