PHP Çok Boyutlu Diziler

Çok Boyutlu Diziler

Tek boyutlu diziler bir indis anahtarı => bir değer şeklinde değerleri saklarlar. Ancak bazı durumlarda bir anahtar ile birden fazla veri tutmak gerekir böyle durumlarda çok boyutlu diziler kullanılır.
PHP 2,3,4 ve 5 boyutlu dizileri desteklemektedir.
Özellikle 2 boyutlu diziler veritabanı işlemlerinde sıkça kullanılır.
İki boyutlu dizilerde bir elemana ulaşmak için 2 indis anahtarı,
üç boyutlu dizilerde ise bir elemana ulaşmak için 3 indis anahtarı gereklidir.

İki Boyutlu Diziler

İki boyutlu diziler, bir dizi içindeki tüm elemanların tek boyutlu bir dizi olduğu dizi türleridir.
Öncelikle verileri inceleyelim.

İsim Yazar Stok
Zeytindağı Falih Rıfkı Atay 18
Suç ve Ceza Dostoyevski 9
Savaş ve Barış Tolstoy 16
Yukarıdaki tablodaki verileri 2 boyutlu dizi olarak şu şekilde oluşturacağız. $kitaplar = array( array("Dönüşüm","Franz Kafka",20), array("Suç ve Ceza","Dostoyevski",9), array("Savaş ve Barış","Tolstoy",16), ); )

İki boytulu dizilerde dizideki elemanlara ulaşmak için 2 adet indis anahtarı kullanılmalıdır.
Dizi içindeki tüm diziler ilk indis numaralarıdır. İçte bulunan dizilerin elemanlarına da ulaşmak için de içteki dizinin indis numaraları kullanılır.
Yukarıdaki dizide Suç ve Ceza elemanına ulaşmak için $kitaplar[1][0] yazmak yeterlidir. Örnek :

echo $kitaplar[1][0];

İki Boyutlu Dizilerin Foreach ile Yazdırılması

Tek boyutlu bir diziyi yazdırırken bir kez foreach kullanılır, iki boyutlu bir dizi için ise iki kez foreach kullanılmaktadır.
Dıştaki ve içteki dizi için 2 foreach kullanılır.

Örnekte yine aynı iki boyutlu dizi kullanılacaktır. Alttaki kodu inceleyelim.
Dıştaki foreach her bir kitaba ait bilgileri tutan dizileri eleman olarak alır,
içteki foreach ise her kitaba ait bilgileri eleman olarak alır.
Önce dıştaki döngünün ilk elemanı için döngü çalışır, içteki bilgileri aralarında --- işaretleri ile yazar. Devamında döngüden çıkılıp bir alt satıra inilir.
Sonrasında ikinci elemanı için döngü çalışır, yine içteki bilgileri aralarında --- işaretleri ile yazar. Aynı işlemler tekrar eder ve son eleman bittikten sonra iki döngüden de çıkılır.

foreach ($kitaplar as $kitap) { foreach ($kitap as $bilgi) { echo $bilgi,' --- '; } echo '<br>'; }


Yorumlar


Yorum yapabilmek ve kaynak kodları indirebilmek için lütfen üye girişi yapın