⊗ppPmLpCn 123 of 447 menu

Continue-käsky PHP:ssä

break-käskyn lisäksi, joka päättää silmukan suorituksen, on olemassa myös continue-käsky, joka käynnistää silmukan uuden iteraation. Tämä käsky voi joskus olla hyödyllinen koodin yksinkertaistamiseen, vaikka käytännössä ongelma voidaan melkein aina ratkaista ilman sitä. Katsotaanpa käytännön esimerkkiä.

Olkoon meillä taulukko numeroita. Käydään se läpi silmukalla ja numerot, jotka ovat jaollisia 2:lla, korotetaan neliöön ja tulostetaan näytölle, ja numerot, jotka ovat jaollisia 3:lla, korotetaan kuutioon ja tulostetaan näytölle.

Tässä on kuvatun ongelman ratkaisu:

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

Kuten näet, rivi echo $res toistuu kahdesti. Siirretään se if-lauseen ulkopuolelle, näin:

<?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; // siirretty tulostus ehdon ulkopuolelle } ?>

Nyt kuitenkin skriptimme toimii hieman erilailla: käy niin, että myös tavallisille alkioille, joita ei käsitelty if-lauseellamme, suoritetaan muuttujan $res tulostus näytölle, mikä tehtävämme ehtojen mukaan ei ole tarpeen.

Korjataan ongelma lisäämällä if-lauseeseemme else-ehdon, joka aktivioituu alkioille, jotka eivät ole jaollisia 2:lla ja 3:lla, ja kutsutaan siellä continue-käskyä, joka heti siirtää meidät silmukan seuraavalle iteraatiolle:

<?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; // siirrytään silmukan seuraavalle iteraatiolle } echo $res; // suoritetaan, jos jaollinen 2:lla tai 3:lla } ?>

Kirjoita silmukka, joka tulostaa vain parilliset numerot 1:stä 100:een, ohittaen parittomat käyttämällä continue-käskyä.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää