⊗ppPmLpCn 123 of 447 menu

PHP'de continue Deyimi

Döngünün çalışmasını sonlandıran break deyiminin yanı sıra, döngünün yeni bir tekrarını başlatan continue deyimi de bulunur. Bu deyim bazen kodu basitleştirmek için yararlı olabilse de, pratikte hemen her zaman problem onu kullanmadan da çözülebilir. Pratik bir örnekle inceleyelim.

Bize bir sayı dizisi verildiğini varsayalım. Bu diziyi bir döngü ile ele alalım ve 2'ye bölünebilen sayıların karesini alıp ekrana yazdıralım, 3'e bölünebilen sayıların ise küpünü alıp ekrana yazdıralım.

Açıklanan problemi çözen kod aşağıdadır:

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

Gördüğünüz gibi, echo $res satırı iki kez tekrar ediyor. Bu satırı if bloğunun dışına, aşağıdaki gibi taşıyalım:

<?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; // çıktıyı koşulun dışına taşıdık } ?>

Ancak şimdi betiğimiz biraz farklı çalışıyor: Bizim if bloğumuz tarafından işlenmeyen sıradan elemanlar için bile $res değişkeninin ekrana yazdırılması işlemi gerçekleşecek, bu da problem koşulumuza göre ihtiyacımız olmayan bir durum.

Problemi düzeltmek için, if bloğumuza 2 ve 3'e bölünmeyen elemanlar için tetiklenecek bir else koşulu daha ekleyelim ve burada, bizi hemen döngünün yeni bir tekrarına atayacak olan continue deyimini çağıralım:

<?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; // döngünün yeni tekrarına geç } echo $res; // sadece 2'ye veya 3'e bölünebiliyorsa çalışır } ?>

continue kullanarak tek sayıları atlayan ve sadece 1'den 100'e kadar olan çift sayıları yazdıran bir döngü yazın.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet