ÇOK BOYUTLU DİZİLER
Java dillerinde,birden fazla boyuta sahip dizi tanımlamak gerçekten de ileri seviye uzmanlık gerektiren kavramlardır. PHP de ise bu konu için,kimsenin başını ağrıtmadan kısaca tanımlanabilecek ve uygulanabilecek yazım kuralları geliştirilmiştir. Bir diziye istediğiniz kadar çok boyut katabilirsiniz. PHP içinde bir diziyi kullanırken ona iki'den fazla boyut katmak,çok ta güzel bir programcılık tekniği değildir. Bu hem sizin hem de PHP ’nin yapısı itibari ile bir çok extra yükü beraberinde getirir. Sizin için, kodun sonradan başka kişiler tarafından bakımının zorlaşması ,sunucu için ise kaynaklarının yok edilmesi bakımından önemli ve düşünülmesi gereken,ve hatta mümkünse iki den fazla boyut için kaçınılması gereken programlama teknikleridir.
Tek Boyutlu Diziler Tek boyutluydu. Tek boyutlu diziler, sadece aynı özellikteki bir değer grubunu barındırmak için kullanılırlar. Kullanım şekli aşağıdadır Dizi değişkenimize değer atamak için : $dizi_degisken_adi = Array ("değer1" , "değer2" , "değer3" . . . ); yada $dizi_degisken_adi[] = "değer1"; $dizi_degisken_adi[] = "değer2"; $dizi_degisken_adi[] = "değer3"; . . Dizi değişkenimiz içinde bulunan her elemanın bir sıra numarası vardır. Örneğin diziye atadığımız "değer1" elemanının sıra numarası 0'dır. Diziden bu elemanı çağırmak istediğimizde , $dizi_degisken_adi[0] şeklinde çağırdığımızda "değer1" e ulaşırız.
< ?php $dizi1 = array("Ahmet","Mehmet","Hasan","Hüseyin","Ali"); echo $dizi1[2]; //Hasan değerini döndürür ?>
değer gruplarını tek dizide, yani tek kapta barındırmaktır. Çok Boyutlu Diziler Çok boyutlu dizilerin, kullanım amacı da, farklı özellikteki değer gruplarını tek dizide, yani tek kapta barındırmaktır. Kod: < ?php $dizi2 = array(array(adi=>"Yavuz",soyadi=>"Düzgün"), array(adi=>"Ender",soyadi=>"Gündoğdu"), array(adi=>"Tülin",soyadi=>"Şahika"), ); echo $dizi2[1][adi]; //Ender değerini döndürür ?>
$telefonlar=array( "Nokia"=>array("6310","5310","N95","N97"), "Sony Ericsonn"=>array("K750i","K790i"), "Samsung"=>array("E250","U600"));
Çok zor olmayan bir yöntemle çok boyutlu diziler oluşturabiliyoruz. Şimdi bu dizileri foreach ile yazdıralım… foreach ($telefonlar as $marka=>$modelno){ echo $marka."<br>"; foreach ($modelno as $model){ echo " ".$model."<br>"; }}
foreach ($ogrenciler as $ogrenci) { print ("$ogrenci<br>"); } Foreach döngüsü, bir dizi değişkenin adını içinden değer çekilecek kaynak olarak ister; Bunu "as" (olarak) kelimesi izler; Sonra diziden alınacak her bir değeri geçici olarak tutacak değişkenin adı verilir. Buradaki print() komutumuz, bu geçici değişkenin tuttuğu değeri browser'a gönderecektir. Bu değer ise döngünün her adımında dizi değişkendeki bir değer yani öğrencilerin listesi olacaktır.