(PHP 5 >= 5.1.0)
array_intersect_ukey — Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar
$dizi1
, array $dizi2
[, array $...
], callback $anh_karş_işlevi
)
array_intersect_ukey() işlevi tüm değiştirgelerinde
mevcut olan ve anahtarları eşleşen tüm dizi1
değerlerini içeren bir dizi döndürür.
Karşılaştırma için kullanıcı tarafından sağlanan bir geriçağırım işlevi kullanılır. İşlev, ilk değiştirgenin ikinciden büyük, küçük veya ikinciye eşit olması durumlarında sırayla sıfırdan büyük, küçük bir değer veya sıfır döndürmelidir.
dizi1
Diğer dizilerin karşılaştırılacağı ilk dizi.
dizi2
İlk dizi ile karşılaştırılacak dizi.
...
İlk dizi ile karşılaştırılacak diğer dizilerin değişkenlerinin listesi.
anh_karş_işlevi
Kullanıcı tarafından sağlanmış, karşılaştırma için kullanılacak işlevin ismi.
Anahtarları tüm değiştirgelerde mevcut
dizi1
değerlerini içeren bir dizi döndürür.
Örnek 1 - array_intersect_ukey() örneği
<?php
function anh_kars_islevi($a1, $a2)
{
if ($a1 == $a2)
return 0;
else if ($a1 > $a2)
return 1;
else
return -1;
}
$dizi1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);
$dizi2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
var_dump(array_intersect_ukey($dizi1, $dizi2, 'anh_kars_islevi'));
?>
Yukarıdaki örneğin çıktısı:
array(2) { ["blue"]=> int(1) ["green"]=> int(3) }
Örnekte gördüğünüz gibi her iki dizide de sadece 'blue'
ve 'green' anahtarları ortak olduğundan dönen dizi
sadece bu elemanları içermektedir. Ayrıca, dizilerde
'blue' ve 'green' anahtarlı
elemanların değerlerinin farklı oluşuna da dikkat ediniz. Sadece
anahtarlara bakıldığından bir eşleşme oluşmakta ve sadece
dizi1
dizisindeki değerler döndürülmektedir.