⊗ppPmLpCn 123 of 447 menu

Continue instrukcija PHP

Be instrukcijos break, užbaigiančios ciklo veikimą, taip pat egzistuoja instrukcija continue, paleidžianti naują ciklo iteraciją. Ši instrukcija kartais gali būti naudinga norint supaprastinti kodą, nors beveik visada problemą galima išspręsti ir be jos. Pažiūrėkime į praktinį pavyzdį.

Tarkime, kad turime skaičių masyvą. Pereikime jį ciklu ir skaičius, kurie dalijasi iš 2, pakelkime kvadratu ir išveskime į ekraną, o skaičius, kurie dalijasi iš 3, pakelkime kubu ir išveskime į ekraną.

Štai aprašytos problemos sprendimas:

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

Kaip matote, eilutė echo $res kartojasi du kartus. Iškelkime ją už if, štai taip:

<?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; // išvedimą iškeitėme už sąlygos } ?>

Tačiau dabar mūsų scenarijus veikia kiek kitaip: pasirodo, kad ir įprastiems elementams, neapdorotiems per mūsų if, bus atliekamas kintamojo $res išvedimas į ekraną, ko pagal mūsų uždavinio sąlygą mums nereikia.

Išspręskime problemą, prie mūsų if pridėdami dar sąlygą else, kuri suveiks elementams, nesidalinantiems iš 2 ir 3, ir iškviškime ten instrukciją continue, kuri iš karto permestų mus į naują ciklo iteraciją:

<?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; // pereisime į naują ciklo iteraciją } echo $res; // bus vykdoma, jei dalijasi iš 2 arba 3 } ?>

Parašykite ciklą, kuris išveda tik lyginius skaičius nuo 1 iki 100, praleisdamas nelyginius naudodami continue.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti