⊗ppPmLpCn 123 of 447 menu

Instrukcja continue w PHP

Oprócz instrukcji break, która kończy działanie pętli, istnieje również instrukcja continue, która uruchamia nową iterację pętli. Instrukcja ta może czasami być przydatna dla uproszczenia kodu, chociaż prawie zawsze zadanie można rozwiązać również bez niej. Spójrzmy na praktyczny przykład.

Załóżmy, że mamy daną tablicę z liczbami. Przejdźmy ją pętlą i liczby, które dzielą się przez 2, podnieśmy do kwadratu i wypiszmy na ekran, a liczby, które dzielą się przez 3, podnieśmy do sześcianu i wypiszmy na ekran.

Oto rozwiązanie opisanego zadania:

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

Jak widzisz, linijka echo $res powtarza się dwa razy. Przenieśmy ją poza if, w ten sposób:

<?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; // przenieśliśmy wyświetlanie poza warunek } ?>

Teraz jednak nasz skrypt działa nieco inaczej: okaże się, że również dla zwykłych elementów, nieprzetworzonych przez nasz if, będzie wykonywane wyświetlanie zmiennej $res na ekran, co zgodnie z warunkami naszego zadania nam nie jest potrzebne.

Poprawmy problem, dodając do naszego if jeszcze warunek else, który będzie się uruchamiać dla elementów nie dzielących się przez 2 i 3, i wywołajmy tam instrukcję continue, która natychmiast przeniesie nas do nowej iteracji pętli:

<?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; // przejdziemy do nowej iteracji pętli } echo $res; // wykona się, jeśli dzieli się przez 2 lub 3 } ?>

Napisz pętlę, która wyświetla tylko liczby parzyste od 1 do 100, pomijając nieparzyste za pomocą continue.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć