Continue İfadesi
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 52 / 71.
break bir döngüyü tamamen terk ederken, bazen sadece mevcut yinelemeyi atlayıp bir sonrakine geçmek istersiniz. Bunu tam olarak yapan continue ifadesidir.
PHP continue ile karşılaştığında, döngünün bir sonraki yinelemesine hemen atlar ve mevcut yinelemedeki kalan kodu atlar.
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>Bu çıktı verir:
1
2
4
53'ün eksik olduğunu fark edin. $i 3'e eşit olduğunda, continue deyimi echo'yu atlar ve $i'nin 4 olduğu bir sonraki yinelemeye doğrudan geçer.
Yaygın bir kullanım senaryosu, bir dizi işlerken istenmeyen değerleri filtrelemektir:
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>Bu, yalnızca pozitif sayıları yazdırır: 10, 8 ve 12. Negatif değerler atlanır, ancak döngü tüm öğeler üzerinden çalışmaya devam eder.
Ana fark: break döngüyü tamamen durdurur, continue ise sadece bir sonraki yinelemeye atlar.
Görev
Kolayİki satır giriş oku:
- Virgülle ayrılmış tam sayı listesi (örneğin,
3,7,12,5,8,20,15) - Bir bölen sayı
Diziyi gezinmek için bir foreach döngüsü kullanın. Verilen bölenle bölünebilen sayıları atlamak için continue kullanın. Diğer tüm sayıları her biri ayrı bir satırda yazdırın.
Örnek 1:
Girişler 1,2,3,4,5,6,7,8,9,10 ve 3 ise, çıktı şu şekilde olmalıdır:
1
2
4
5
7
8
10(3, 6 ve 9 sayıları 3'e bölünebildikleri için atlanır)
Örnek 2:
Girişler 10,15,20,25,30 ve 5 ise, çıktı şu şekilde olmalıdır:
(Tüm sayılar 5'e bölünebilir, bu yüzden hiçbir şey yazdırılmaz)
Örnek 3:
Girişler 7,14,21,10,5 ve 7 ise, çıktı şu şekilde olmalıdır:
10
5Kopya kağıdı
continue ifadesi, bir döngünün mevcut yinelemesini atlar ve döngüyü tamamen terk etmeden bir sonrakine geçer.
for döngüsü ile temel örnek:
<?php
for ($i = 1; $i <= 5; $i++) {
if ($i === 3) {
continue;
}
echo $i . "\n";
}
?>Bu, 1, 2, 4, 5 çıktısını verir (3'ü atlar).
Dizi değerlerini filtrelemek için foreach ile continue kullanımı:
<?php
$numbers = [10, -5, 8, -3, 12];
foreach ($numbers as $num) {
if ($num < 0) {
continue;
}
echo $num . "\n";
}
?>Bu, yalnızca pozitif sayıları (10, 8, 12) yazdırır, negatif değerleri atlar.
Ana fark: break döngüyü tamamen terk ederken, continue yalnızca bir sonraki yinelemeye atlar.
Kendin dene
<?php
// Girişi oku
$input = trim(fgets(STDIN));
$divisor = intval(trim(fgets(STDIN)));
// Virgülle ayrılmış dizeyi tamsayı dizisine dönüştür
$numbers = array_map('intval', explode(',', $input));
// TODO: Kodunuzu aşağıya yazın
// $numbers üzerinde gezinmek için foreach döngüsü kullanın
// $divisor'a bölünebilen sayıları atlamak için continue kullanın
// Diğer tüm sayıları, her biri ayrı bir satırda yazdırın
?>Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators