Ana içeriğe git
'ya geç - Kapat
'ya geç - Kapat
Tamamlama Gereklilikleri

Çok Boyutlu Diziler

Çok boyutlu bir dizi, içerisinde bir ya da birden çok dizi barındıran dizilerdir. Aşağıdaki örnekte bilgiler adında bir diziye içerisinde 3 eleman barındıran 4 tane dizi atanmaktadır.

<?php

    $bilgiler = array(
        array("Ahmet", 35, "İstanbul"),
        array("Beyza", 30, "İzmir"),
        array("Mehmet", 20, "Antalya"),
        array("Funda", 25, "Ankara")
    );

?>

Çok boyutlu dizilerin elemanlarını ekrana yazdırmak için sayısal anahtarlı ya da metinsel anahtarlı dizilerde olduğu gibi print_r(), foreach() vb. fonksiyonlara başvurulabilir. Ancak çok boyutlu dizilerde, herhangi bir anahtarın içerisindeki belirli bir elemana doğrudan ulaşılmak isteniyorsa o zaman o elemanın konumunu belirten özel bir anahtar ikilisi -dizinin boyunu göre anahtar sayı artabilir- kullanılmalıdır.

Yukarıdaki örnekte bilgiler dizisinin son anahtarındaki kayıtta yer alan yaş bilgisine ulaşılmak isteniyorsa o zaman şöyle bir kod satırı yazılmalıdır.

echo $bilgiler[3][1];

$bilgiler[3][1] -> önce 3. anahtarda bulunan diziye gidecek sonrasında da o dizinin 1. anahtarını ekrana yazdıracaktır. Bu dizenin varsayılan başlangıç anahtarı 0 olduğu için beklenen ekran çıktısı 25 olacaktır.

<?php

    $bilgiler = array(
        array("Ahmet", 35, "İstanbul"),
        array("Beyza", 30, "İzmir"),
        array("Mehmet", 20, "Antalya"),
        array("Funda", 25, "Ankara")
    );

    print_r($bilgiler); // Dizideki tüm elemanlar anahtarları ile beraber ekrana yazdırılacaktır

    print_r($bilgiler[0]); // Dizi içerisindeki ilk dizideki tüm elemanlar anahtarları ile beraber ekrana yazdırılacaktır

    print_r($bilgiler[3]); // Dizi içerisindeki son dizideki tüm elemanlar anahtarları ile beraber ekrana yazdırılacaktır

    echo "<br>";

    foreach($bilgiler as $bilgi){ // Dizi içerisindeki her bir eleman $bilgi değişkenine aktarılacaktır
        echo "$bilgi
"; // $bilgi değişkeninde yine bir dizi olacağı için echo komutu ile bu elemanları yazdırmada hata alınacaktır } foreach($bilgiler as $bilgi){ // Dizi içerisindeki her bir eleman $bilgi değişkenine aktarılacaktır foreach($bilgi as $yeniBilgi){ // $bilgi dizi değişkenindeki her bir eleman $yeniBilgi değişkenine aktarılacaktır echo "$yeniBilgi<br>"; // Dizi içerisindeki her eleman tek tek yeni satırda olmak üzere ekrana yazdırılacaktır } } echo $bilgiler[0][0]; // Dizinin ilk dizisinin ilk elemanı -> Ahmet echo $bilgiler[0][1]; // Dizinin ilk dizisinin ikinci elemanı -> 35 echo $bilgiler[0][2]; // Dizinin ilk dizisinin üçüncü elemanı -> İstanbul echo $bilgiler[3][2]; // Dizinin dördüncü dizisinin üçüncü elemanı -> Ankara ?>

Yukarıdaki örnekte oluşturulan bir çoklu dizinin elemanlarına ulaşmada kullanılan farklı yöntemler listelenmiştir.

Yeni pencerede aç