⊗ppPmLpCn 123 of 447 menu

Instrucción continue en PHP

Además de la instrucción break, que termina el trabajo del ciclo, también existe la instrucción continue, que inicia una nueva iteración del ciclo. Esta instrucción a veces puede ser útil para simplificar el código, aunque prácticamente siempre la tarea se puede resolver sin ella. Veamos un ejemplo práctico.

Supongamos que tenemos un array con números. Vamos a recorrerlo con un ciclo y los números que son divisibles por 2, los elevaremos al cuadrado y los mostraremos en pantalla, y los números que son divisibles por 3, los elevaremos al cubo y los mostraremos en pantalla.

Aquí está la solución de la tarea descrita:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; echo $res; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; echo $res; } } ?>

Como puedes ver, la línea echo $res se repite dos veces. Saquémosla fuera del if, así:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; } echo $res; // sacamos la salida fuera de la condición } ?>

Ahora bien, nuestro script funciona un poco diferente: resultará que para los elementos ordinarios, no procesados por nuestro if, también se ejecutará la salida de la variable $res en pantalla, lo cual según las condiciones de nuestra tarea no necesitamos.

Corrijamos el problema, añadiendo a nuestro if otra condición else, que se activará para los elementos no divisibles por 2 y 3, y llamaremos allí a la instrucción continue, que inmediatamente nos llevará a la nueva iteración del ciclo:

<?php $arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; foreach ($arr as $elem) { if ($elem % 2 === 0) { $res = $elem * $elem; } elseif ($elem % 3 === 0) { $res = $elem * $elem * $elem; } else { continue; // pasaremos a una nueva iteración del ciclo } echo $res; // se ejecutará si es divisible por 2 o 3 } ?>

Escriba un ciclo que muestre solo números pares del 1 al 100, omitiendo los impares usando continue.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar