⊗ppPmLpCn 123 of 447 menu

continue-instruksjonen i PHP

I tillegg til instruksjonen break, som avslutter en løkke, finnes det også instruksjonen continue, som starter en ny iterasjon av løkken. Denne instruksjonen kan noen ganger være nyttig for å forenkle koden, selv om oppgaven nesten alltid kan løses uten den. La oss se på et praktisk eksempel.

Anta at vi har en array med tall. La oss gå gjennom den med en løkke, og for tallene som er delelige på 2, skal vi kvadrere dem og skrive dem ut på skjermen, og tall som er delelige på 3, skal vi opphøye i tredje potens og skrive ut på skjermen.

Her er løsningen på den beskrevne oppgaven:

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

Som du ser, gjentas linjen echo $res to ganger. La oss flytte den ut av if, slik:

<?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; // flyttet utskriften ut av betingelsen } ?>

Men nå fungerer skriptet vårt litt annerledes: det vil si at også for vanlige elementer, som ikke ble behandlet gjennom vår if, vil utskriften av variabelen $res utføres, noe som ifølge betingelsen i oppgaven vår ikke er ønsket.

La oss rette problemet ved å legge til en else til vår if, som vil utløses for elementer som ikke er delelige på 2 og 3, og kalle instruksjonen continue der, som umiddelbart vil sende oss videre til neste iterasjon av løkken:

<?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; // går til neste iterasjon av løkken } echo $res; // utføres hvis delelig på 2 eller 3 } ?>

Skriv en løkke som kun skriver ut partall fra 1 til 100, og hopper over oddetall ved hjelp av continue.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis