- Katılım
- 2 Mar 2015
- Konular
- 59,189
- Mesajlar
- 88,439
- Çözüm
- 109
- Online süresi
- 4mo 16d
- Reaksiyon Skoru
- 14,280
- Altın Konu
- 2,398
- TM Yaşı
- 11 Yıl 3 Ay 6 Gün
- Başarım Puanı
- 1,051
- MmoLira
- 695,092
- DevLira
- 234
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
PHP'deki foreach yapısı özellikle diziler üzerinde yineleme yapmak için tasarlanmıştır. Farklı bir veri türüne sahip bir değişkende kullanmaya çalışırsanız, PHP bir hata verir.
PHP'deki foreach döngüsü , dizinli dizi ve ilişkisel dizi ile kullanılabilir. İki tür kullanım sözdizimi mevcuttur.
foreach (array as $value) {
statements
}
Yukarıdaki yöntem, dizinli bir diziyi yinelemek istediğinizde kullanışlıdır. Aşağıdaki sözdizimi, ilişkisel diziler için daha uygundur.
foreach (array as $key => $value) {
statements
}
Ancak her iki yaklaşım da dizinli dizilerde iyi çalışır, çünkü dizideki bir öğenin dizini aynı zamanda anahtar işlevi görür.
"foreach" Döngüsünü Dizinli Bir Diziyle Kullanma
Yukarıdaki ilk sözdizimi türü foreach anahtar sözcüğünün önünde bir parantez gösterir. Daha sonra dolaşılacak dizinin adı " as " anahtar sözcüğü ve ardından bir değişken tarafından takip edilir.İlk yineleme başladığında, dizideki ilk eleman değişkene atanır. Döngü bloğu bittikten sonra, değişken bir sonraki elemanın değerini alır ve dizideki elemanlar tükenene kadar döngü gövdesindeki ifadeleri tekrarlar.
foreach döngüsünün tipik kullanımı şu şekildedir:
PHP:
<?php
$arr = array(10, 20, 30, 40, 50);
foreach ($arr as $val) {
echo "$val \n";
}
?>
Örnek
PHP, array_search()' te verilen bir değerin anahtarını döndüren çok kullanışlı bir fonksiyon sağlar. Dizin, dizinli bir dizideki anahtar olduğundan, her $val için array_search() her değerin sıfır tabanlı dizinini döndürür. Aşağıdaki kod bunun nasıl çalıştığını göstermektedir.
PHP:
<?php
$arr = array(10, 20, 30, 40, 50);
foreach ($arr as $val) {
$index = array_search($val, $arr);
echo "Element at index $index is $val \n";
}
?>
Aşağıdaki çıktıyı üretecektir:
Element at index 0 is 10
Element at index 1 is 20
Element at index 2 is 30
Element at index 3 is 40
Element at index 4 is 50
Örnek
foreach sözdiziminin ikinci varyasyonu dizideki her bir öğeyi iki değişkene ayırır: biri anahtar için, biri de değer için.İndeksli bir dizide indeksin kendisi anahtar görevi gördüğünden, $k değişkeni dizideki her bir elemanın artan indeksini sırayla alır.
PHP:
<?php
$arr = array(10, 20, 30, 40, 50);
foreach ($arr as $k=>$v) {
echo "Key: $k => Val: $v \n";
}
?>
Aşağıdaki çıktıyı üretecektir :
Key: 0 => Val: 10
Key: 1 => Val: 20
Key: 2 => Val: 30
Key: 3 => Val: 40
Key: 4 => Val: 50
"foreach" Döngüsü Kullanılarak İlişkisel Bir Dizinin Yinelenmesi
İlişkisel bir dizi, anahtar-değer çiftlerinin bir koleksiyonudur. İlişkisel bir dizide yineleme yapmak için foreach sözdiziminin ikinci varyasyonu uygundur. Dizideki her bir eleman, her biri anahtarın değerini ve değerini alan iki değişkene açılır.Örnek
İşte foreach döngüsü kullanılarak bir dizi eyalet ve ilgili başkentlerinin gezildiği bir örnek.
PHP:
<?php
$capitals = array(
"Maharashtra"=>"Mumbai", "Telangana"=>"Hyderabad",
"UP"=>"Lucknow", "Tamilnadu"=>"Chennai"
);
foreach ($capitals as $k=>$v) {
echo "Capital of $k is $v \n";
}
?>
Aşağıdaki çıktıyı üretecektir:
Capital of Maharashtra is Mumbai
Capital of Telangana is Hyderabad
Capital of UP is Lucknow
Capital of Tamilnadu is Chennai
Ancak, yalnızca dizideki her anahtar-değer çiftinin değerinin değişkende saklandığı foreach ifadesinin ilk versiyonunu kullanmaya devam edebilirsiniz. Daha sonra, daha önce kullandığımız array_search() fonksiyonunu kullanarak değere karşılık gelen anahtarı elde ederiz.
PHP:
<?php
$capitals = array(
"Maharashtra"=>"Mumbai", "Telangana"=>"Hyderabad",
"UP"=>"Lucknow", "Tamilnadu"=>"Chennai"
);
foreach ($capitals as $pair) {
$cap = array_search($pair, $capitals);
echo "Capital of $cap is $capitals[$cap] \n";
}
?>
"foreach" Döngüsü Kullanılarak 2D Dizinin Yinelenmesi
PHP'de çok boyutlu bir dizi bildirmek mümkündür, burada dizideki her eleman başka bir dizinin kendisidir. Hem dış dizinin hem de alt dizinin dizinli bir dizi veya ilişkisel bir dizi olabileceğini unutmayın.Aşağıdaki örnekte, dizi veya diziler olarak adlandırılabilen iki boyutlu bir dizimiz var. İç içe dizi yapısını aşağıdaki gibi dolaşmak için iç içe döngülere ihtiyacımız var.
PHP:
<?php
$twoD = array(
array(1,2,3,4),
array("one", "two", "three", "four"),
array("one"=>1, "two"=>2, "three"=>3)
);
foreach ($twoD as $idx=>$arr) {
echo "Array no $idx \n";
foreach ($arr as $k=>$v) {
echo "$k => $v" . "\n";
}
echo "\n";
}
?>
Aşağıdaki çıktıyı üretecektir:
Array no 0
0 => 1
1 => 2
2 => 3
3 => 4
Array no 1
0 => one
1 => two
2 => three
3 => four
Array no 2
one => 1
two => 2
three => 3

