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.

Array_search Fonksiyonu

array_search fonksiyonu ile bir önceki derste gördüğümüz in_array dizi içinde sorguladığımız değerin sadece olup olmadığını sorgularken array_search ile olan değerin anahtarını görebiliriz.

örnek kullanım:

1
2
3
$telefon=array("nokia"=>335,"Sony"=>250,"samsung"=>200);
$bulunan_anahtar=array_search(250,$telefon)
echo "$bulunan_anahtar";

Sonuç olarak ekranımıza “Sony” gelecektir.Çünkü array_search ile aradığımız 250 değeri Sony anahtarının içindedir.

In_array Fonksiyonu

in_array () Fonksiyonu bir önceki derste gördüğümüz array_key_exists fonksiyonuyla benzer bir görev görür.array_key_exists dizideki anahtarları sorgularken in_array fonksiyonu anahtarların içindeki değerleri sorgular ve belirttiğimiz anahtarın olup olmadığını bize söyler.

Aynı dizi üzerinde bu kez değerler içinden fiyat sorgulaması yapalım.

1
2
3
4
5
6
7
$telefon=array("nokia"=>335,"Sony"=>250,"samsung"=>200);
 
if (in_array("335",$telefon)){
	echo "Aradığınız kriterde sonuç var";
	}else{
	echo "Aradığınız kriterde sonuç yok";
	}

335 değer dizi içinde yer aldığı için if sorgulamasında “Aradığınız kriterde sonuç var” cevabı gelecektir.