array_diff_assoc

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

array_diff_assocDizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır

Açıklama

array_diff_assoc ( array $dizi , array ...$diziler ) : array

dizi ile diziler'i 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.

Değiştirgeler

dizi

Karşılaştırılacak dizi.

diziler

Karşılaştırılacak diğer diziler.

Dönen Değerler

Diğer dizilerde mevcut olmayan dizi girdilerinden oluşan bir dizi döner.

Örnekler

Örnek 1 - array_diff_assoc() örneği - 1

"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
$dizi1 
= array("a" => "green""b" => "brown""c" => "blue""red");
$dizi2 = array("a" => "green""yellow""red");
$sonuc array_diff_assoc($dizi1$dizi2);
print_r($sonuc);
?>

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

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

Örnek 2 - array_diff_assoc() örneği - 2

İki elemanın eşit olması için sadece ve sadece (string) $elem1 === (string) $elem2 olmalıdır. Başka bir deyişle, dize gösterimleri aynı olmalıdır.

<?php
$array1 
= array(012);
$array2 = array("00""01""2");
$result array_diff_assoc($array1$array2);
print_r($result);
?>

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

Array
(
    [0] => 0
    [1] => 1
    )

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

Bilginize: Çok fazla anahtara sahip benzer dizileri karşılaştırırken değiştirgeleri doğru sırada vermeye dikkat edin. Yeni dizi listedeki ilk dizi olmalıdır.

Ayrıca Bakınız

  • array_diff() - Dizilerin farkını hesaplar
  • 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_intersect() - Dizilerin kesişimini hesaplar
  • array_intersect_assoc() - Dizilerin kesişimini hesaplarken ek olarak indisleri de karşılaştırır