PHP Dizi İçinde Arama Yapma Yöntemleri

PHP Dizi İçinde Arama Yapma Yöntemleri

Hazır fonksiyonlar kullanarak PHP dizi içinde arama yapma işleminin çeşitli yöntemleri bulunmakta. Eleman değerine göre dizide arama yapma , indise göre arama, belirtilen elemana sahip indisleri getirme, belirtilen indislere sahip dizi değerlerini getirme gibi hazır PHP dizi fonksiyonları ile yapılabilecek işlemler bulunmakta. Bu makalede dizi içinde arama yapılmasını sağlayan bu fonksiyonlar işlenecektir.

PHP in_array() fonksiyonu

PHP dizi içinde arama yapmak için kullanılan fonksiyonlardan biridir. Eğer aranılan değer dizi içerisinde var ise “true” yani 1 değeri döner, yok ise “null” yani boş değer döner. 2 parametre ile kullanılır. İlk parametre dizi içerisinde aranılacak değer, ikinci parametre ise dizi değeri. PHP in_array fonksiyonu kullanımı aşağıdaki gibidir.

$veriler = array(
	'Mevlana',
	'Çatalhöyük',
	'Kilistra',
	'Sille',
	'Meram'
);

echo in_array('Mevlana',$veriler); //çıktı: 1
echo in_array('Göksu',$veriler); //çıktı: null

if (in_array('Sille',$veriler)){
	echo 'var';
}else{
	echo 'yok';
}
//çıktı: var

PHP array_search()
fonksiyonu

PHP dizide anahtar (indis) bulma işlemi için dizide arama yapma yapan fonksiyondur. Aranılan değer dizi içerisinde var ise dizideki aranılan elemanın anahtarı geriye döner, aranılan değer dizide yok ise “null” yani boş değer döner. 2 parametre ile kullanılır. İlk parametre aranılacak değer, ikinci parametre ise dizi değeri. PHP array_search fonksiyonu kullanımı aşağıdaki gibidir.

$veriler = array(
	'Kavun',
	'Karpuz',
	'Domates'
);
echo array_search('Domates',$veriler); //çıktı: 2
echo array_search('Karpuz',$veriler); //çıktı: 1

PHP array_keys() fonksiyonu

PHP dizi içinde arama yapma işlemini dizideki elemanların anahtarlarını elde etme ve ayrı bir dizi içerisinde döndürmesi ile gerçekleştirir. 2 parametre ile kullanılır. İkinci parametreyi kullanmak zorunlu değil. İlk parametre dizi değeri, ikinci parametre ise dizideki elemanın ismi girilerek sadece o dizi elemanının anahtarının getirilmesini sağlayan şartlama kısmı. PHP array_keys fonksiyonu kullanımı aşağıdaki gibidir.

$veriler = array(
	'Müslim',
	'Ömer',
	'Berat',
	'Doğukan'
);
$anahtarlar=array_keys($veriler);
print_r($anahtarlar); //çıktı: Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 )

$veriler2 = array(
	'Müslim' => 1,
	'Ömer' => 2,
	'Berat' => 3,
	'Doğukan' => 4
);
$anahtarlar2=array_keys($veriler2);
print_r($anahtarlar2); //çıktı: Array ( [0] => Müslim [1] => Ömer [2] => Berat [3] => Doğukan )

Yukarıdaki örneklerde array_keys fonksiyonunun tek parametre ile kullanımı görünmekte. Aşağıdaki örnekte 2 parametre ile kullanımı bulunmakta. Fonksiyonun 2. parametresine eleman ismi yazılarak o elemanın indisi dizi olarak çekilmekte. Bu demektir ki aynı isimde birçok eleman olur ise birçok anahtar çekilip dizi şeklinde döndürülecek.

$veriler3 = array(
	'Müslim' => 1,
	'Ömer' => 2,
	'Berat' => 2,
	'Doğukan' => 4
);
$anahtarlar3=array_keys($veriler3,2);
print_r($anahtarlar3); //çıktı: Array ( [0] => Ömer [1] => Berat )

PHP array_values()
fonksiyonu

Array_keys fonksiyonunun sadece anahtarları elde etmesinin tersi olarak array_values fonksiyonu dizideki elemanların sadece değerlerini elde eder ve bir dizi halinde geri döndürür. PHP array_values fonksiyonu kullanımı aşağıdaki gibidir.

$dizi = array(
	5 => 'Bill Gates',
	7 => 'Steve Jobs',
	10 => 'Jeff Bezos',
	15 => 'Warren Buffet'
);

$yeni_dizi = array_values($dizi);
print_r($yeni_dizi);

/*
	--çıktı--
	Array ( 
		[0] => Bill Gates 
		[1] => Steve Jobs 
		[2] => Jeff Bezos 
		[3] => Warren Buffet 
	)
*/

PHP array_key_exists()
fonksiyonu

Dizide anahtar (indis) varlığını kontrol eder. Belirtilen anahtara sahip eleman dizi içerisinde bulunup bulunmadığını kontrol edilmesini sağlar. Eğer indis dizide kullanılıyor ise fonksiyon “true” yani 1 döndürür, kullanılmıyor ise “false” döner. PHP array_key_exists fonksiyonu kullanımı aşağıdaki gibidir.

$sosyal_medya = array(
	1 => 'Facebook',
	2 => 'Twitter',
	3 => 'Google Plus',
	4 => 'Pinterest',
	5 => 'Etliekmek'
);
$veri = array_key_exists(3,$sosyal_medya);
echo $veri; //çıktı: 1
if ($veri){
	echo 'Anahtar dizide mevcut';
}else{
	echo 'Anahtar dizide mevcut değil';
}
//çıktı: Anahtar dizide mevcut
Yorum Yap
0 Yorum yapan