Diziler bazen çok uzun olabilir. Veya istenilen bir şey dizi içinde aranabilir. Bunun için dizi içi arama ve karşılaştırma fonksiyonlarını kullanacağız
array_key_exists();
Bir anahtar veya sira numarası dizide var mı diye kontrol eder.
[php]
<?php
$dizi = array (‘ad’=>’ahmet’, ‘soyad’=>’yilmaz’, ‘no’=>’1453’ );
if(array_key_exists(‘soyad’, $dizi)){
echo "Evet Var";
}
?>
[/php]
in_array()
bir dizide bir değerin varlığını araştırır, çok sık kullanılan bir fonksiyondur.
[php]
<?php
$dizi = array (‘ad’=>’ahmet’, ‘soyad’=>’yilmaz’, ‘no’=>’1453’ );
if(in_array(‘ahmet’, $dizi)){
echo "Evet var";
}
?>
[/php]
array_search()
bir dizide belirtileni değeri arar ve bulursa ilgili anahtarı döndürür.
[php]
<?php
$dizi = array (‘ad’=>’ahmet’, ‘soyad’=>’yilmaz’, ‘no’=>’1453’ );
if($anahtar=array_search(‘ahmet’,$dizi)){
echo ‘Anahtarı: ‘.$anahtar;
}
?>
[/php]
Anahtarı: ad
Bir ilişkili dizinin içinde eğer sayılar varsa array_sum($b) fonksiyonu ile toplama işlemi yapabiliriz
[php]
<?php
$b = array("a"=>1.2, "b"=>2.5, "c"=>3.4);
echo array_sum($b);
?>
[/php]
7.1
array_intersect()
Dizilerin aynı isimli ortak elemanlarını bulur
array_intersect($dizi, $dizi2,….)
[php]
<?php
$dizi1 = array("ahmet", "yılmaz", "osman", "mehmet");
$dizi2 = array("ayşe","fatma","yılmaz","feride");
$ortak= array_intersect($dizi1, $dizi2);
print_r($ortak);
?>
[/php]
çıktı olarak
Array
(
[1] => yılmaz
[4] => çelik
)
Bir cevap yazın