⊗ppPmLpCn 123 of 447 menu

Инструкция continue в PHP

Освен инструкцията break, която прекратява работата на цикъл, съществува и инструкцията continue, която започва нова итерация на цикъла. Тази инструкция понякога може да бъде полезна за опростяване на кода, въпреки че почти винаги задачата може да се реши и без нея. Нека разгледаме практически пример.

Нека имаме даден масив с числа. Нека го обходим с цикъл и числата, които се делят на 2, да повдигнем на квадрат и да изведем на екрана, а числата, които се делят на 3, да повдигнем на куб и да изведем на екрана.

Ето решението на описаната задача:

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

Както виждате, редът echo $res се повтаря два пъти. Нека го изнесем извън if, ето така:

<?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; // изнесохме извеждането извън условието } ?>

Сега нашият скрипт обаче работи малко по-различно: ще се окаже, че и за обикновените елементи, необработени от нашия if, ще се извършва извеждане на променливата $res на екрана, което според условието на нашата задача не ни е необходимо.

Нека поправим проблема, като добавим към нашия if още едно условие else, което ще се задейства за елементи, които не се делят на 2 и 3, и ще извикаме там инструкцията continue, която веднага ще ни прехвърля към нова итерация на цикъла:

<?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; // ще преминем към нова итерация на цикъла } echo $res; // ще се изпълни, ако се дели на 2 или 3 } ?>

Напишете цикъл, който извежда само чётните числа от 1 до 100, пропускайки нечётните с помощта на continue.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне