Foreach Döngüsü
Coddy'nin PHP Journey'sinin Temeller bölümünün bir parçası — ders 49 / 71.
Dizilerle çalışırken, her bir elemanı tek tek dolaşmanız sıkça gereklidir. Bir indeks sayacıyla for döngüsü kullanabilir olsanız da, PHP daha temiz bir çözüm sunar: foreach döngüsü.
foreach döngüsü, diziler üzerinde yineleme yapmak için özel olarak tasarlanmıştır. Otomatik olarak sayımı yönetir ve her bir öğeye doğrudan erişim sağlar.
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>Bu çıktı verir:
apple
banana
cherrySözdizimi basittir: foreach ($array as $item). Her yinelemede, diziden sonraki öğe $item'e atanır ve döngü gövdesi içinde kullanabilirsiniz.
Bunu bir for döngüsü ile aynı sonucu elde etmek için karşılaştırın:
<?php
$fruits = ["apple", "banana", "cherry"];
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "\n";
}
?>foreach sürümü daha kısa ve okuması daha kolaydır. Bir indeks değişkenini yönetmenize veya dizinin uzunluğu hakkında endişelenmenize gerek yok—PHP tüm bunları sizin için halleder.
Görev
KolayVirgülle ayrılmış sayıların bulunduğu tek bir satır girişini oku (örneğin, 10,25,5,30,15).
Diziyi yinelemek ve tüm sayıların toplamını hesaplamak için bir foreach döngüsü kullan. Toplam toplamı yazdır.
Örnek 1:
Eğer giriş 10,25,5,30,15 ise, çıktı şu olmalı:
85Örnek 2:
Eğer giriş 1,2,3,4,5 ise, çıktı şu olmalı:
15Örnek 3:
Eğer giriş 100,200,300 ise, çıktı şu olmalı:
600Kopya kağıdı
foreach döngüsü, indeks değişkenlerini yönetmeden diziler üzerinde yineleme yapmak için özel olarak tasarlanmıştır.
Temel sözdizimi:
<?php
foreach ($array as $item) {
// use $item
}
?>Örnek:
<?php
$fruits = ["apple", "banana", "cherry"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
?>Bu, indeks sayacı ile for döngüsü kullanmaktan daha temizdir, çünkü PHP sayma ve dizi uzunluğunu otomatik olarak yönetir.
Kendin dene
<?php
// Girişi oku
$input = trim(fgets(STDIN));
$numbers = explode(',', $input);
// TODO: Aşağıya foreach döngüsü kullanarak toplamı hesaplayacak kodunuzu yazın
$sum = 0;
// Sonucu çıktı ver
echo $sum;
?>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