Navigate / search

PHP Array_keys Fonksiyonu

Daha önceki derslerimizde anahtarlı (indisli) dizileri görmüştük.Şimdi inceleyeceğimiz komutla bir dizideki anahtarları direk olarak bir değişkene atmaya yarıyor.Bunu array_keys() komutu ile yapıyoruz.Dizideki bütün anahtarları yani indisleri alıp bir başka değişkene bütün anahtarları dizi olarak atar.
İlk önce anahtarlı bir dizi yazalım.

$telefon=array("nokia"=>335,"Sony"=>250,"Samsung"=>200,"LG"=>250);

şimdi ise array keys komutu ile dizi anahtarlarını bir diziye aktaralım

$anahtarlar=array_keys($telefon);

Böylece Nokia, Sony,Samsung ve LG anahtarlarını $anahtarlar adlı değişkene aktardık.

Array_keys() fonksiyonunun bir özelliği daha var.Dizi değişkeni içinde belirli kriterlere göre anahtar seçebiliyoruz.Dizi değişkenimizi inceleyin ve 2 adet 250 tl değerinde telefon olduğunu göreceksiniz.Sony ve LG.Bir fiyat kriteri koyup array_keys komutunu kullanalım şimdi

$anahtarlar=array_keys($telefon,"250");

Şimdi ise $telefon dizisindeki değeri 250 olan anahtarları $anahtarlar adlı diziye taşıyacaktır.bunlar Sony ve LG olacaktır.

Array_keys ile yaptığımız işlemi bu fonksiyon olmadan bir döngü ile de gerçekleştirebiliriz.

1
2
3
4
5
$telefon = array("nokia"=>335,"Sony"=>250,"Samsung"=>200,"LG"=>250);
$sonuc = array();
foreach ($telefonas $index => $value) {
   $sonuc [$value][] = $index;
}

Sonuç olarak array_keys fonksiyonunun yaptığı işlemin aynısı yaptık. Projelerinizde farklı bir uygulama yaparken fonksiyonu kullanmak yerine bu gibi döngüler oluşturabilirsiniz.

Dizileri Tabloya Aktarmak Foreach

Foreach komutuyla dizileri yazdırmayı çğrenmiştik.Şimdiki dersimizde diziden gelen anahtar ve değerleri bir tabloya yazdıracağız.Önceki dersimizden farklı bir bilgi içermeyen sadece php içinde html kullanımında size yardımcı olacak bir derstir.Aynı şekilde dizi değişkenimizi tanımlıyor değerlerini veriyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
$ozellik[marka]="Nokia";
$ozellik[model]="5300";
$ozellik[kamera]="1.3 Mp";
$ozellik[mp3]="var";
$ozellik[bluetooth]="var";
$ozellik[fmradio]="var";
 
echo "<table border=1>";
foreach ($ozellik as $nitelik=>$durum){
      echo "<tr><td>$nitelik</td><td> $durum</td></tr>";
      }
echo "</table>";

Döngüye başlamadan önce table border=1 yazarak tablomuzu açtık.Döngü içinde de tablomuzu oluşturmak için tr ile bir satır açtık.Sonra niteliğimizi td içine alarak bir hücreye yerleştirdik.Aynı şekilde özellik durumunu gösteren değişkenimizide td içine alıp aynı satırda bir hücre daha oluşturduk.Daha son /tr ile satırımızı bitirdik.Döngü her döndüğünde tr ile açılıp /tr ile kapandığı için her döngü turu bir satıra yazılacaktır.