⊗ppPmLpCn 123 of 447 menu

Instruktionen continue i PHP

Förutom instruktionen break, som avslutar en loop, finns det också instruktionen continue, som startar en ny iteration av loopen. Denna instruktion kan ibland vara användbar för att förenkla koden, även om uppgiften nästan alltid kan lösas utan den. Låt oss titta på ett praktiskt exempel.

Antag att vi har en array med siffror. Låt oss gå igenom den med en loop och för de tal som är delbara med 2, kvadrera dem och skriv ut dem på skärmen, och de tal som är delbara med 3, upphöj dem till kub och skriv ut dem på skärmen.

Här är lösningen på den beskrivna uppgiften:

<?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, raden echo $res upprepas två gånger. Låt oss flytta ut den ur if, så här:

<?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; // flyttade ut utskriften ur villkoret } ?>

Men nu fungerar vårt skript lite annorlunda: det kommer att visa sig att även för vaniga element, som inte behandlats genom vår if, kommer utskriften av variabeln $res att utföras, vilket enligt villkoren för vår uppgift inte är nödvändigt.

Låt oss åtgärda problemet genom att lägga till ytterligare ett villkor else till vår if, som kommer att triggas för element som inte är delbara med 2 och 3, och anropa instruktionen continue där, som omedelbart kommer att kasta oss över till en ny iteration av loopen:

<?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 till nästa iteration av loopen } echo $res; // utförs endast om delbart med 2 eller 3 } ?>

Skriv en loop som endast skriver ut jämna tal från 1 till 100, och hoppar över de ojämna med hjälp av continue.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa