Anasayfa > Programlama > PHP > PHP icerisinde Dizilerin Kullanimi - BOLUM 1

PHP icerisinde Dizilerin Kullanimi - BOLUM 1




Diziler en temelinde basit birer degiskenlerdir.Bu ozel tip degiskeni digerlerinden ayiran en
onemli
ozellik ise degiskenin birden fazla degeri icinde saklayabilmesidir.Bu olay sehirlerin icindeki
binalara,cadde ve sokaklara da benzetilebilir.Nasil bir cadde veya sokaga erismek icin adres
numaralari kullaniliyorsa PHP icinde de ayni sekilde dizinin icinde yer alan degiskenin degerine
ulasmak icin boyle indeksler kullanilir...

Bir dizi degisken tanimlayalim :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $arkadaslar = array("serkan","oktay","tayfun","hulya","adnan","burcu");
  5.   
  6.   ?>


Simdi elimizde bir dizi var ve sahip oldugu degerler sirasi ile

serkan,oktay,tayfun,hulya,adnan, ve burcu

Bu elementlere erismek icin dizi indeksleri kullanilir :

Ornegin "serkan" degerine erismek icin :  

$arkadaslar[0];

kullanilabilir.Eger "tayfun" degerine erismek isteseydim :

$arkadaslar[2];

gibi bir notasyonla bunu basarabilirdik.Bu tip indeksleme islemine "sifir-tabanli-indeksleme"
denilmektedir.

Bu indeksleri kendinizde tanimlayabilirisiniz :

PHP:

  1.   
  2.   <?php 
  3.   $ulke_baskentleri = array("turkiye" => "ankara", "almanya diyari" => "berlin",
  4.   "ingiltere" => "londra");
  5.   ?>


Yeri geldiginde Turkiye'nin baskenti verisine ulasmak icin asagidaki gibi bir notasyon
kullanilabilir :

echo $ulke_baskentleri["turkiye"];

veya Almanya icin :  

PHP:

  1.   
  2.   <?php 
  3.   echo $ulke_baskentleri["almanya diyari"];
  4.   ?>


Dizilerin icinde yanlizca duz yazilar,numaralar ve diger diziler saklanabilir :
 

PHP:

  1.   
  2.   <?php 
  3.   // Diziyi yarat
  4.   $ornek_dizi = array( 
  5.   "sayilar" => array("bir", 2, 3, "dort"),
  6.   "kahramanlar" => array("spiderman", "superman", "kaptan kirk"),
  7.   "dondurma" => array("cukulatali" => "kahverengi", "vanilyali" => "beyaz",
  8.   "cilekli" =>  "pembe"),
  9.   );
  10.   // Null  - 2 anahtarina sahip element yok
  11.   echo $ornek_dizi[2];
  12.   // "Array" - sayilar anahtari bir diziyi icinde barindiriyor
  13.   echo $ornek_dizi["sayilar"];
  14.   // "bir" - degeri ekrana yazdiriliyor
  15.   echo $ornek_dizi["sayilar"][0];
  16.   // "kaptan kirk"
  17.   echo $ornek_dizi["kahramanlar"][2];
  18.   // "beyaz"
  19.   echo $ornek_dizi["dondurma"]["vanilyali"];
  20.   ?>


Yukarida goruldugu gibi dizi yaratmak icin array () komutu kullaniliyor.Dizi icin isim secerken
PHP de kullanilan diger degiskenleere uygulanan kurallari hatirlayiniz :

Degisken ismi mutlaka bir harf karekter ile baslamali ve ardindan diger harf ve/veya numaralar
gelmelidir.

Asagidaki gibi bir notasyon ile array () fonksiyonu kullanilmadan da diziler yaratilabilir : 

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $tatli[0] = "cukulatali kek";
  5.   
  6.   $tatli[1] = "tiramisu";
  7.   
  8.   $tatli[2] = "elmali kek";
  9.   
  10.   $tatli[3] = "cukulatali pasta";
  11.   
  12.   ?>


Yukaridaki yazim sekli ile asagidaki yazim sekli birbirinin tamamen aynisidir :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $tatli[] = "cukulatali kek";
  5.   
  6.   $tatli[] = "tiramisu";
  7.   
  8.   $tatli[] = "elmali kek";
  9.   
  10.   $tatli[] = "cukulatali pasta";
  11.   
  12.   ?>


range () fonksiyonu kullanilarak otomatik olarak bazi diziler yaratilabilir :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   // Sonuclar ("30", "31", "32", "33", "34", "35", "36", "37", "38","39", "40")
  5.   
  6.   $otuzlar = range(30, 40);
  7.   
  8.   
  9.   // Sonuclar ("i", "j", "k", "l", "m", "n", "o")
  10.   
  11.   $alfabe = range("i", "o");
  12.   
  13.   ?>


Diziye bir elemani dogrudan indeks kullanrak ekleyebilirsiniz :  

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $tatli[4] = "visneli pasta";
  5.   
  6.   ?>


Simdi dizimiz soyle bir gorunume sahip olacaktir :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $tatli = array("cukulatali kek", "tiramisu", " elmali kek", " cukulatali pasta", "visneli pasta");
  5.   
  6.   
  7.   ?>


Ayni kural karekter indeksli diziler icinde gecerlidir:

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $filmler = array("romantik" => "Moulin Rouge", "epic" => "Gladiator",
  5.   
  6.   "hareket" => "Terminator");
  7.   
  8.   // Ayni dizi soyle de yaratilabilirdi,
  9.   
  10.   $filmler["romatik"] = "Moulin Rouge";
  11.   
  12.   $filmler["epic"] = "Gladiator";
  13.   
  14.   $filmler["hareket"] = "Terminator";
  15.   
  16.   ?>


Bu diziye bir element su sekilde eklenebilir :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $filmler["korku"] = "Kuzularin Sessizligi";
  5.   
  6.   ?>


Dizi icideki bir elementin degeri su sekilde degistirilebilir :
 

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $tatli = array("cukulatali kek", "tiramisu", " elmali kek", " cukulatali pasta", "visneli
  5.   
  6.   pasta");
  7.   
  8.   ?>


Bu dizi icindeki "cukulatali kek" i "cukulatali-vanilyali kek" olacak sekilde degistirelim :  

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $tatli[0] = " cukulatali-vanilyali kek";
  5.   
  6.   ?>


Dizinin son hali su sekilde olacaktir :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $tatli = array("cukulatali-vanilyali kek", "tiramisu", " elmali kek", " cukulatali pasta",
  5.   
  6.   "visneli pasta");
  7.   
  8.   ?>


Ayni kurali karekter indeksli diziler icin de uygulayabiliriz :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $filmler["hareket"] = "Rambo";
  5.   
  6.   ?>


Bir degiskenin dizi degisken olup olmadiginin kontrolu :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   $filmler = array("romantik" => "Moulin Rouge", "epic" => "Gladiator",
  5.   
  6.   "hareket" => "Terminator");
  7.   
  8.   
  9.   //true degeri fonksiyonun sonucunda doner,
  10.   
  11.   echo is_array($filmler);
  12.   
  13.   
  14.   $filmler = "Bu degisken artik bir dizi degil";
  15.   
  16.   
  17.   //false degeri doner,
  18.   
  19.   echo is_array($filmler);
  20.   
  21.   ?>


Bir dizinin boyutunu hesaplamak :

Bir dizinin boyutu (bir dizinin icinde yer alan element sayisi da diyebiliriz) hesaplanirken
sizeof fonksiyonu kullanilir :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   // diziyi yarat
  5.   
  6.   array("cukulatali-vanilyali kek", "tiramisu", " elmali kek", " cukulatali pasta", "visneli
  7.  pasta");
  8.   
  9.   // Fonksiyonun calismasi sonucunda 5 degeri dondurulecektir,
  10.   
  11.   echo sizeof($tatli);
  12.   
  13.   
  14.   // diziyi yarat
  15.   
  16.   $filmler = array("romantik" => "Moulin Rouge", "epic" => "Gladiator",
  17.   
  18.   "hareket" => "Terminator");
  19.   
  20.   
  21.   // Ekrana 3 yazdirilir,
  22.   
  23.   echo sizeof($filmler);
  24.   
  25.   
  26.   ?>


array_keys ve array_values fonksiyonlarinin kullanimi :

Ornek vermek istersek,

PHP:

  1.   
  2.   <?php 
  3.   
  4.   // diziyi yaratalim:
  5.   
  6.   $menu = array("yemek" => "dolma", "icecek" => "ayran", "tatli" =>
  7.   
  8.   "baklava", "garson" => "serkan", "mesaj" => "afiyet olsun");
  9.   
  10.   
  11.   // donen sonuc array ("yemek", "icecek", "tatli", "garson", "mesaj")
  12.   
  13.   array_keys($menu);
  14.   
  15.   
  16.   // donen sonuc array ("dolma", "ayran", "baklava", "serkan", "afiyet olsun")
  17.   
  18.   array_values($menu);
  19.   
  20.   ?>

 
in_array fonksiyonu size bir degerin o dizinin icinde olup olmadigini bulmanizda yardimci olur : 

PHP:

  1.   
  2.   <?php 
  3.   
  4.   // dizimiz asagidaki gibi olsun,
  5.   
  6.   $menu = array("yemek" => "dolma", "icecek" => "ayran", "tatli" =>
  7.   
  8.   "baklava", "garson" => "serkan", "mesaj" => "afiyet olsun");
  9.   
  10.   
  11.   // Ekrana true yazdirir:
  12.   
  13.   echo in_array("dolma",$menu) 
  14.   
  15.   
  16.   // Ekrana false yazdirir:
  17.   
  18.   echo in_array("pilav",$menu) 
  19.   
  20.   ?>
PHP icesinde dizi elementlerini normal birer degisken haline getirmek icin list () ve extract () fonksiyonlari kullanilir :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   
  5.   // dizimiz asagidaki gibi olsun,
  6.   
  7.   $tatli = array("cukulatali kek", "tiramisu", " elmali kek", " cukulatali pasta", "visneli pasta");
  8.   
  9.   
  10.   
  11.   
  12.   
  13.   //Bu elementleri teker teker degiskenlere atayalim :
  14.   
  15.   list ($a,$b,$c,$d,$e) = $tatli;
  16.   
  17.   
  18.   //Ekrana tiramisu yazdirir,
  19.   
  20.   echo $b;
  21.   
  22.   ?>
Simdi de extract () kullanimina ornek verelim. Saniyorum list () ile arasindaki farki hemen kavrayacaksiniz :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   // dizimiz asagidaki gibi olsun,
  5.   
  6.   $menu = array("yemek" => "dolma", "icecek" => "ayran", "tatli" =>
  7.   
  8.   "baklava", "garson" => "serkan", "mesaj" => "afiyet olsun");
  9.   
  10.   
  11.   //Bu diziyi parcalayarak butun bilesenlerini degiskenlere atayalim
  12.   
  13.   extract($menu);
  14.   
  15.   
  16.   //Ekrana dolma yazdirir
  17.   
  18.   echo $yemek;
  19.   
  20.   ?>
extract () fonksiyonu ile dizinin icindeki indeksler ile degerler tam eslesecek sekilde degiskenler yaratilir Bir dizinin sonuna bir elementi asagidaki sekilde anlatildigi gibi array_push () fonksiyonu ile eklyebilirsiniz :

PHP:

  1.   
  2.   <?php 
  3.   
  4.   
  5.   // dizimiz asagidaki gibi olsun,
  6.   
  7.   $tatli = array("cukulatali kek", "tiramisu", " elmali kek", " cukulatali pasta",
  8.   
  9.   "visneli pasta");
  10.   
  11.   
  12.   //Sonuna dondurma ekleyelim
  13.   
  14.   array_push($menu,"dondurma");
  15.   
  16.   
  17.   Simdi dizimiz soyle olacaktir:
  18.   
  19.   // Dizimizin son sekli
  20.   
  21.   $tatli = array("cukulatali kek", "tiramisu", " elmali kek