(PHP 5 >= 5.1.0, PHP 7)
array_diff_ukey — Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
dizi1
ile dizi2
'yi
karşılaştırır ve farkı döndürür. Değerler yerine anahtarları
karşılaştırması dışında array_diff() işlevi gibidir.
array_diff_key() işlevinden farklı olarak anahtarları karşılaştırmak için bir dahili işlev değil, kullanıcı tanımlı bir geriçağırım işlevi kullanılır.
dizi1
Karşılaştırılacak dizi.
dizi2
Karşılaştırılacak diğer dizi.
...
Karşılaştırılacak diğer diziler.
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. Dikkat: PHP 7.0.0 öncesinde bu tamsayı -2147483648 ile 2147483647 arasında olmalıdır.
Diğer tüm değiştirgelerde mevcut olmayan dizi1
girdilerinden oluşan bir dizi döner.
Örnek 1 - array_diff_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_diff_ukey($dizi1, $dizi2, 'anh_kars_islevi'));
?>
Yukarıdaki örneğin çıktısı:
array(2) { ["red"]=> int(2) ["purple"]=> int(4) }
Bilginize:
Bu işlev n boyutlu bir dizinin sadece bir boyutunu karşılaştırır. Daha derinliğine karşılaştırmalar yapmak için array_diff_ukey($dizi1[0], $dizi2[0], 'anh_kars_islevi'); sözdizimini kullanabilirsiniz.