PHP Programlama

PHP Uygulamalar

Php ve MySQL

PHP Diziler (Array)

► Detaylı anlatım

Dizi (Array) aynı veya farklı türden verileri tek bir değişken adı altında toplayıp erişim sağlayabileceğimiz bir bileşik veri türüdür.

Dizi içine yerleştireceğiniz her bir veriyi hem değer adı (key) hem de değer (value) olarak veya sadece değer olarak atayabilirsiniz.

değer adı (key) : Sadece integer veya string veri türü olabilir.

değer (value) : Herhangi bir veri türü olabilir.

Bir dizi array() fonksiyonu ile oluşturulur ve bir değişkene atanır:

array ( değer adı => değer, ... ); // Değer adı ve değeri birlikte atama

array ( değer, değer, ...); // Sadece değer atama

array ( değer adı => değer, değer, ... ); // İki yöntemi birlikte kullanma

Farklı değer atama ve erişim yöntemleri

$arr_deg01 = array ("Adı" => "Ahmet", "Soyadı" => "Ertürk", "Yaşı" => 25); // Değer adı ve değer
echo $arr_deg01["Adı"]; // Ahmet (Ekrana yazar)

$arr_deg02 = array ("Adı" => "Ahmet", 10 => "Ertürk", 11 => 27, 12 => TRUE); // Değer adı ve değer
echo $arr_deg02[11]; // 27 (Ekrana yazar)

$arr_deg03 = array ("Ahmet", "Ertürk", 25); // Sadece değer atama
echo $arr_deg03[1]; // Ertürk (Ekrana yazar)

$arr_deg04 = array (5, 10, 15, 20, 25); // Sadece değer atama
echo $arr_deg04[0]; // 5 (Ekrana yazar)

$arr_deg05 = array ("Adı" => "Ahmet", "Soyadı" => "Ertürk", 25); // İki yöntemi birlikte kullanma
echo $arr_deg05[0]; // 25 (Ekrana yazar)
Bir veriyi değer adı ve değer olarak atadığınızda veriye erişim için değer adını kullanmanız gerekir:

$arr_deg["Adı"]

Bir veriyi sadece değer olarak atadığınızda ise veriye erişim için dizi adı ile indeks değeri (dizinin ilk veri indeksi 0'dır) kullanmanız gerekir:

$arr_deg[indeks]
<html>
<body>

<?php 

    $arr_deg01 = array ("Adı" => "Ahmet", "Soyadı" => "Ertürk", "Yaşı" => 25);
    $arr_deg02 = array ("Adı" => "Ahmet", 10 => "Ertürk", 11 => 27, 12 => TRUE);
    $arr_deg03 = array ("Ahmet", "Ertürk", 25);
    $arr_deg04 = array (5, 10, 15, 20);
    $arr_deg05 = array ("Adı" => "Ahmet", "Soyadı" => "Ertürk", 25, 
                        "İşi" => "Öğrenci", 3);

    echo $arr_deg01["Adı"]." ".$arr_deg01["Soyadı"]." ".$arr_deg01["Yaşı"].'<br/>';

    echo $arr_deg02["Adı"]." ".$arr_deg02[10]." ".$arr_deg02[11]." ".$arr_deg02[12];
    echo '<br/>';	

    /* ilk dizi elemanına 0'dan başlayarak indeksleme yapılır. */
    echo $arr_deg03[0]." ".$arr_deg03[1]." ".$arr_deg03[2].'<br/>'; 
	
    /* ilk dizi elemanına 0'dan başlayarak indeksleme yapılır. */
    echo $arr_deg04[0]." ".$arr_deg04[1]." ".$arr_deg04[2]." ".$arr_deg04[3].'<br/>';

    echo $arr_deg05["Adı"]." ".$arr_deg05["Soyadı"]." ".$arr_deg05[0]." ".$arr_deg05[1];

?>

</body>
</html>

Yukarıdaki dosyayı çalıştırdığınızda, web tarayıcınızda aşağıdaki ifadeler karşınıza çıkar:

Ahmet Ertürk 25
Ahmet Ertürk 27 1
Ahmet Ertürk 25
5 10 15 20
Ahmet Ertürk 25 3 

Yukarıdaki PHP dosyasında karakter dizilerini Birleştirme İşlemcisi (.) kullanılmıştır.

Yukarıdaki PHP dosyasında, toplam beş adet dizi tanımlanmış ve dizilere atanan veriler ekrana yazılmıştır. $arr_deg04 değişkenine aktarılan dizi değerlerinin tamamı sadece değer olarak tanımlandığından dizi indekslemesi 0'dan başlayarak sırasıyla devam etmektedir. $arr_deg05 değişkenine aktarılan dizi değerlerinin bir kısmı değer adı ve değeri birlikte atama bir kısmı ise sadece değer atama yöntemiyle tanımlandığından sadece değer atama yoluyla değer verilen ilk dizi elemanına 0'dan başlayarak indeksleme yapılır ve değer atama yoluyla yapılan her dizi elemanında indeks bir artırılır.