(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
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.
Diğer dizilerin karşılaştırılacağı ilk dizi.
İlk dizi ile karşılaştırılacak dizi.
İlk dizi ile karşılaştırılacak diğer dizilerin değişkenlerinin listesi.
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.