⊗ppPmLpCn 123 of 447 menu

De continue instructie in PHP

Naast de instructie break, die de werking van de lus beëindigt, bestaat er ook de instructie continue, die een nieuwe iteratie van de lus start. Deze instructie kan soms nuttig zijn om de code te vereenvoudigen, hoewel de taak bijna altijd ook zonder kan worden opgelost. Laten we kijken naar een praktisch voorbeeld.

Stel, we hebben een array met nummers. Laten we deze door een lus halen en de nummers die deelbaar zijn door 2, kwadrateren en uitprinten naar het scherm, en de nummers die deelbaar zijn door 3, tot de derde macht verheffen en uitprinten naar het scherm.

Hier is de oplossing voor de beschreven taak:

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

Zoals je ziet, wordt de regel echo $res twee keer herhaald. Laten we deze er uit halen, buiten de if, zoals hier:

<?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; // heeft de uitvoer buiten de voorwaarde geplaatst } ?>

Ons script werkt nu echter een beetje anders: het blijkt dat ook voor gewone elementen, die niet via onze if zijn verwerkt, de uitvoer van de variabele $res naar het scherm wordt uitgevoerd, wat volgens de voorwaarden van onze taak niet onze bedoeling is.

Laten we het probleem oplossen door aan onze if een extra voorwaarde else toe te voegen, die wordt geactiveerd voor elementen die niet deelbaar zijn door 2 en 3, en daar roepen we de instructie continue aan, die ons onmiddellijk zal overbrengen naar een nieuwe iteratie van de lus:

<?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; // gaat naar een nieuwe iteratie van de lus } echo $res; // wordt uitgevoerd als deelbaar door 2 of 3 } ?>

Schrijf een lus die alleen even getallen weergeeft van 1 tot 100, en oneven getallen overslaat met behulp van continue.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren