I want to stress that in the user function, you do need to return either a 1 or a -1 properly; you cannot simply return 0 if the results are equal and 1 if they are not.
The following code is incorrect:
<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
{
return 0;
}
return 1;
}
$a1=array(1, 2, 4);
$a2=array(1, 3, 4);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>
This code is correct:
<?php
function myfunction($v1,$v2)
{
if ($v1===$v2)
{
return 0;
}
if ($v1 > $v2) return 1;
return -1;
}
$a1=array(1, 2, 4);
$a2=array(1, 3, 4);
print_r(array_uintersect($a1,$a2,"myfunction"));
?>
array_uintersect
(PHP 5)
array_uintersect — Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
Açıklama
Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar.
Değiştirgeler
-
dizi1 -
İlk dizi.
-
dizi2 -
İkinci dizi.
-
işlev -
Karşılaştırma için geriçağırım 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
Tüm değiştirgeleri ifade etmek üzere dizi1'in tüm
değerlerini içeren bir dizi ile döner.
Örnekler
Örnek 1 - array_uintersect() örneği
<?php
$dizi1 = array("a" => "mor", "b" => "sarı", "c" => "mavi", "kırmızı");
$dizi2 = array("a" => "MOR", "B" => "sarı", "yeşil", "kırmızı");
print_r(array_uintersect($dizi1, $dizi2, "strcasecmp"));
?>
Yukarıdaki örneğin çıktısı:
Array
(
[a] => mor
[b] => sarı
[0] => kırmızı
)
Ayrıca Bakınız
- array_intersect() - Dizilerin kesişimini hesaplar
- array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
- array_uintersect_assoc() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
- array_uintersect_uassoc() - Veriyi ve indisleri bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplarken ek olarak indislere de bakar
Nate at RuggFamily dot com
02-Feb-2007 12:03
