Dizi İşlevleri
PHP Manual

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 array_diff_uassoc ( array $dizi1 , array $dizi2 [, array $... ], callable $anh_karş_işlevi )

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.

int callback ( mixed $a, mixed $b )

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


Dizi İşlevleri
PHP Manual