PHP ‘ de Diziler

02 Ağustos 2008 – 01:49

DİZİLER

Dizi aslında birden fazla değeri içine alabilen, istediğimiz zaman bu değişkenleri toplu olarak çağırabildiğimiz ya da içeriğini değiştirebildiğimiz bir değişkendir.

PHP’de dizi oluşturma, “array” ifadesi ile yapılır.

 

<?php

$dizi=array(”www”, “.”,”bilyaz”,”.”,”com”);

print(”$dizi[0]“.”$dizi[1]“.”$dizi[2]“.”$dizi[3]“.”$dizi[4]“.”$dizi[5]“);

?>

 

Bu satırları çalıştırdığınızda ekranda www.bilyaz.com yazacaktır. Bu tek boyutlu bir dizi olduğu ve elemanları az olduğu için bu şekilde tek satırlık bir kodla içeriğindeki elemanları çağırabiliyoruz. Fakat çok boyutlu ve elemanı fazla olan dizilerin içeriğini farklı bir yöntemle çağırabiliyoruz: döngüler ile… Bunu daha sonra göreceğiz.

Diziye eleman atarken her zaman array komutu kullanmaya gerek yoktur. Eğer angarya işe razıysanız aşağıdaki gibi her bir elemanı teker teker diziye atabilirsiniz. :)

 

<?php

$ogrenciler[]=”Aslı”;

$ogrenciler[]=”Cem”;

$ogrenciler[]=”İffet”;

$ogrenciler[]=”Burhan”;

$ogrenciler[]=”Tanrıverdi”;

$ogrenciler[]=”Yaprak”;

$ogrenciler[]=”Fatoş”;

$ogrenciler[]=”Şahika”;

print $ogrenciler[0];

 ?>

 

İnternet Explorer’da sayfayı açtığınızda ekranda sadece Aslı yazacaktır. Çünkü sadece dizinin “0” indisli ilk elemanını ekrana gönderdik.

Bir de dizilerde bazı elemanları değiştirmek veya eklemek isteyebiliriz.

 

<?php

$ogrenciler[]=”Aslı”;

$ogrenciler[]=”Cem”;

$ogrenciler[]=”İffet”;

$ogrenciler[]=”Burhan”;

$ogrenciler[0]=”Tanrıverdi”;

$ogrenciler[5]=”Yaprak”;

$ogrenciler[10]=”Fatoş”;

$ogrenciler[11]=”Şahika”;

Print(”1= $ogrenciler[0]<br>”);

Print(”2= $ogrenciler[1]<br>”);

Print(”3= $ogrenciler[2]<br>”);

Print(”4= $ogrenciler[3]<br>”);

Print(”5= $ogrenciler[4]<br>”);

Print(”6= $ogrenciler[5]<br>”);

Print(”7= $ogrenciler[6]<br>”);

Print(”8= $ogrenciler[7]<br>”);

Print(”9= $ogrenciler[8]<br>”);

Print(”10= $ogrenciler[9]<br>”);

Print(”11= $ogrenciler[10]<br>”);

 ?>

 

Sayfayı çalıştırdığınızda ekranda şunun gibi bir görüntü oluşacaktır:

 

 

Burada dizinin ilk elemanını değiştirdik, diziye 6., 9. ve 10. elemanları ekledik. Dikkat ettiyseniz arada boş elemanlar oluştu.

Şimdiye kadar gösterdiğim tek boyutlu dizide her satıra sadece bir değer atadık.

Bu atadığımız değer yanında başka değerler de atayarak bu değerle ilişki kurdurtabiliriz. Böyle dizilere “ilişkili diziler” denir.

 

<?php

$dizi=array(adi=>”Burhan”, soyadi=>”Altıntop”);

Print $dizi[adi];

?>

Bunu şu şekilde de yazabiliriz:

<?php

$dizi[adi]=”Burhan”;

$dizi[soyadi]=”Altıntop”;

Print $dizi[adi];

?>

 

Sayfayı açtığınızda ekranda Burhan yazacaktır.

Burada $dizi dizi değişkeninin 2 ayrı değeri (endeks) var: adi ve soyadi.

 

Şimdiye kadar sadece tek boyutlu dizilerle uğraştık. Şimdi çok boyutlu dizileri öğreneceğiz.

 

Çok Boyutlu Diziler

Sıra endeksi

adi

soyadi

notu

=> Endeks adı

0

Burhan

Altıntop

50

=>1. kişi

1

Aslı

Sütçüoğlu

60

=>2. kişi

2

Cem

Davran

70

=>3. kişi

 

Yukarıdaki tabloyu bir “çok boyutlu ilişkili dizi” gibi düşünebiliriz. Çok boyutlu diziler, birden fazla satırdan oluşan, geniş hacimli birbiriyle ilişkili değerleri içerebilir.

Çok boyutlu bir dizi şu şekilde oluşturulur:

 

$ogrenciler=array(

array(adi=>”Burhan”,soyadi=>”Altıntop”,not=>”"),

array(adi=>”Aslı”,soyadi=>”Sütçüoğlu”,not=>”"),

array(adi=>”Tahir”,soyadi=>”Mutlu”,not=>”"),

array(adi=>”Şahika”, soyadi=>”Kocatepe”,not=>”"),

);

 

Örnek:

<?php

$ogrenciler=array(

array(adi=>”Burhan”,soyadi=>”Altıntop”,not=>”"),

array(adi=>”Aslı”,soyadi=>”Sütçüoğlu”,not=>”"),

array(adi=>”Tahir”,soyadi=>”Mutlu”,not=>”"),

array(adi=>”Şahika”, soyadi=>”Kocatepe”,not=>”"),

);

print(”\$ogrenciler adlı dizide “.count($ogrenciler).” adet kişi var.”);

print(”<br><br><br>”);

foreach($ogrenciler as $ogrenci)

{

 foreach($ogrenci as $anahtar=>$deger)

 {

  print(”$anahtar=$deger<br>”);

 }

print(”<br>”);

}

?>

 

Sayfayı açtığınızda aşağıdaki gibi bir görüntü karşınıza çıkacaktır.

 

Burada iç içe geçmiş foreach döngüsü, çok boyutlu dizinin içeriğini almada kullanılır. İlk döngüde $ogrenciler dizi değişkeni kaynak olarak alınır ve içeriği geçici olarak $ogrenci değişkenine aktarılır. İkinci döngüde $ogrenci değişkeninin içeriğindeki anahtar değer çiftlerini teker teker $anahtar ve $deger değişkenlerine atılır. Daha sonra da ekrana $anahtar=$deger yazdırılarak ilişkili dizinin içeriği aktarılmış olunur.

 

Bookmark and Share

Post a Comment

Subscribe without commenting