(PHP 5 >= 5.1.0, PHP 7)
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 $...
], callable $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.
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
Karşılaştırma işlevinin, ilk bileşeninin ikinci bileşenden küçük, eşit veya büyük olması durumunda sıfırdan küçük, eşit veya büyük bir tamsayı döndürmesi gerekir.
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.