Note, also that when you are using a callback function you can use the text-placeholders as this function relies on the retval of the function you give.
So, instead of 1,0,-1 you can use TRUE and FALSE if using only two options.
Just thought it may help you
array_diff_ukey
(PHP 5 >= 5.1.0)
array_diff_ukey — Karşılaştırma için bir geriçağırım işlevi kullanarak dizilerin farkını hesaplar
Açıklama
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.
Değiştirgeler
-
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ç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.
Dönen Değerler
Diğer tüm değiştirgelerde mevcut olmayan dizi1
girdilerinden oluşan bir dizi döner.
Örnekler
Ö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)
}
Notlar
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.
Ayrıca Bakınız
- array_diff() - Dizilerin farkını hesaplar
- array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
- array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
- array_diff_uassoc() - Dizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
- array_udiff_assoc() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
- array_udiff_uassoc() - Veri ve indis karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı indislerine de bakarak bulur
- array_diff_key() - Dizilerin farkını hesaplarken indisleri karşılaştırır
- array_intersect() - Dizilerin kesişimini hesaplar
- array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
- array_intersect_uassoc() - Dizilerin kesişimini hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır
- array_intersect_key() - Karşılaştırma için anahtarları kullanarak dizilerin kesişimini hesaplar
- array_intersect_ukey() - Anahtarları karşılaştırmak için bir geriçağırım işlevi kullanarak dizilerin kesişimini hesaplar
