2491

Php ile Sıfırdan İleri Seviye Web Programlama Kursu

Php Associative Diziler

Php' de key-value şeklindeki bilgileri associative dizilerde saklayabiliriz.

Associative dizilerdeki elemanlar numeric dizilerde olduğu gibi bir indis numarasına sahip değildir.

Şehir ve plaka kodları, Telefon rehberinde saklanan kişi ve kişiye ait telefon, adres vb. veriler associative dizi yapısındadır. 

İlk olarak bu bilgileri numeric dizilerde saklayalım.

Örnek

<?php
$plakalar = array("41","53","34");
$sehirler = array("kocaeli","rize","istanbul");

echo "$plakalar[0] : $sehirler[0]"."<br>";
echo "$plakalar[1] : $sehirler[1]"."<br>";
echo "$plakalar[2] : $sehirler[2]"."<br>";
?>

Ekran çıktısı:

41 : kocaeli
53 : rize
34 : istanbul

Burada iki farklı numeric dizi tanımlamamız gerekti ancak bu bilgileri tek bir associative dizide saklayabiliriz.

Php Associative Dizi Tanımlama

Php Associative diziler numeric dizilerde olduğu gibi array() fonksiyonu ve [ ] işaretleriyle tanımlanabilir.

<?php
 $plaka_bilgileri = array(
    "41" => "kocaeli", 
    "53" => "rize", 
    "34" => "istanbul"
 );

 echo $plaka_bilgileri["41"]."<br>";
 echo $plaka_bilgileri["53"]."<br>";
 echo $plaka_bilgileri["34"]."<br>";

?>

Ekran çıktısı

kocaeli
rize
istanbul

$plaka_bilgileri dizisi üzerinden her bir elemana tanımladığımız key bilgisiyle erişebildik.

Örnek:

<?php
 $telefon_rehberi = [
     "ali" => "5324444444",
     "ahmet" => "532444445",
     "ayşe" => "532444445"
 ];

 echo $telefon_rehberi["ali"];   // 5324444444

?>

Php Associative Dizi ile Döngü Kullanımı

Dizi elemanlarına erişmek için ister for döngüsü ister foreach döngüsünü kullanabiliriz. Associative dizilerin indis numarası olmadığından foreach döngüsü de kullanılabilir.

<?php
 $telefon_rehberi = array(
       "ali" => "53244444",
       "ahmet" => "444444",
       "ayşe" => "333333"
 );

 foreach($telefon_rehberi as $key => $value) {
  	echo "key=" . $key . ", value=" . $value;
  	echo "<br>";
 }

?>

Ekran çıktısı:

key=ali, value=53244444
key=ahmet, value=444444
key=ayşe, value=333333