array_diff_uassoc

(PHP 5, PHP 7)

array_diff_uassocDizilerin farkını hesaplarken ek olarak bir geriçağırım işlevi üzerinden indisleri de karşılaştırır

Açıklama

array_diff_uassoc ( array $dizi1 , array $dizi2 [, array $... ], callable $anh_karş_işlevi ) : array

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_assoc() 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ş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.

callback ( mixed $a, mixed $b ) : int

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_uassoc() örneği

"a" => "green" çifti her iki dizide de mevcut olduğundan bu eleman çıktıda bulunmaz. 0 => "red" çifti ise aksine, ikinci "red" değeri 1 anahtarına sahip olduğundan çıktıda bulunur.

<?php
function anh_karş_işlevi($a$b)
{
    if (
$a === $b) {
        return 
0;
    }
    return (
$a $b)? 1:-1;
}

$dizi1 = array("a" => "green""b" => "brown""c" => "blue""red");
$dizi2 = array("a" => "green""yellow""red");
$result array_diff_uassoc($dizi1$dizi2"anh_karş_işlevi");
print_r($result);
?>

Yukarıdaki örneğin çıktısı:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

İki indisin eşitliğine kullanıcı tarafından sağlanmış geriçağırım işlevi tarafından bakılır.

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_uassoc($dizi1[0], $dizi2[0], 'anh_kars_islevi'); sözdizimini kullanabilirsiniz.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • array_diff_assoc() - Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
  • array_udiff() - Veri karşılaştırması için bir geriçağırım işlevi kullanarak diziler arasındaki farkı bulur
  • 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_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır
  • array_uintersect() - Veriyi bir geriçağırım işleviyle karşılaştırarak dizilerin kesişimini hesaplar
  • 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