array_udiff Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur &reftitle.description; arrayarray_udiff arraydizi1 arraydizi2 array ... callbackveri_karş_işlevi Veri karşılaştırması için dahili bir işlev kullanan array_diff işlevinden farklı olarak, veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur. &reftitle.parameters; dizi1 İlk dizi. dizi2 İkinci dizi. veri_karş_işlevi Veri karşılaştırması için geriçağırım işlevi. Kullanıcı tarafından sağlanır. Dizi değerlerinin aktarılacağı iki değiştirge kabul etmelidir. Birinci değiştirgenin ikinciden büyük, küçük veya ona eşit olduğu durumlarda sırayla sıfırdan büyük, sıfırdan küçük bir değer veya sıfır döndürmelidir. &reftitle.returnvalues; Diğer değiştirgelerin hiçbirinde mevcut olmayan tüm dizi1 değerlerini içeren bir dizi ile döner. &reftitle.examples; - <function>array_udiff</function> örneği özel_üye = $val; } static function cr_karş_işlevi($a, $b) { if ($a->özel_üye === $b->özel_üye) return 0; return ($a->özel_üye > $b->özel_üye)? 1:-1; } } $a = array("0.1" => new cr(9), "0.5" => new cr(12), 0 => new cr(23), 1 => new cr(4), 2 => new cr(-15),); $b = array("0.2" => new cr(9), "0.5" => new cr(22), 0 => new cr(3), 1 => new cr(4), 2 => new cr(-15),); $sonuç = array_udiff($a, $b, array("cr", "cr_karş_işlevi")); print_r($sonuç); ?> ]]> &example.outputs; cr Object ( [özel_üye:cr:private] => 12 ) [0] => cr Object ( [özel_üye:cr:private] => 23 ) ) ]]> &reftitle.notes; Bu işlevin bir n boyutlu dizinin tek bir boyutunu ele alacağına dikkat ediniz. Şüphesiz daha fazla sayıda boyutun hesaba katılmasını, örneğin array_udiff($dizi1[0], $dizi2[0], "veri_karş_işlevi"); gibi bir kullanımla sağlayabilirsiniz. &reftitle.seealso; array_diff array_diff_assoc array_diff_uassoc array_udiff_assoc array_udiff_uassoc array_intersect array_intersect_assoc array_uintersect array_uintersect_assoc array_uintersect_uassoc