⊗ppPmLpCn 123 of 447 menu

Príkaz continue v PHP

Okrem inštrukcie break, ktorá ukončuje prácu cyklu, existuje aj inštrukcia continue, ktorá spúšťa novú iteráciu cyklu. Táto inštrukcia môže byť niekedy užitočná na zjednodušenie kódu, hoci takmer vždy je možné úlohu vyriešiť aj bez nej. Pozrime sa na praktický príklad.

Predpokladajme, že máme dané pole s číslami. Prejdime ho cyklom a čísla, ktoré sú deliteľné 2, umocnime na druhú a vypíšme na obrazovku, a čísla, ktoré sú deliteľné 3, umocnime na tretiu a vypíšme na obrazovku.

Tu je riešenie opísanej úlohy:

<?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; } } ?>

Ako vidíte, riadok echo $res sa opakuje dvakrát. Presuňme ho mimo if, takto:

<?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; // presunuli sme výpis mimo podmienku } ?>

Teraz však náš skript funguje trochu inak: ukáže sa, že aj pre bežné prvky, ktoré neboli spracované cez našu podmienku if, sa bude vykonávať výpis premennej $res na obrazovku, čo podľa podmienok našej úlohy nechceme.

Opravme problém pridaním ďalšej podmienky else k nášmu if, ktorá sa aktivuje pre prvky, ktoré nie sú deliteľné 2 a 3, a zavolajme tam príkaz continue, ktorá nás okamžite prehodí na novú iteráciu cyklu:

<?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; // prejdeme na novú iteráciu cyklu } echo $res; // vykoná sa, ak je deliteľné 2 alebo 3 } ?>

Napíšte cyklus, ktorý vypíše len párne čísla od 1 do 100, pričom nepárne preskočí pomocou continue.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť