(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
array_diff_assoc — Dizilerin farkını hesaplarken ek olarak indisleri de karşılaştırır
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.
dizi
Karşılaştırılacak dizi.
diziler
Karşılaştırılacak diğer diziler.
Diğer dizilerde mevcut olmayan dizi
girdilerinden oluşan bir dizi döner.
Sürüm: | Açıklama |
---|---|
8.0.0 | Bu işlev artık yalnızca tek bir bağımsız değişken ile çağrılabiliyor. Evvelve en az iki bağımsız değişken gerekirdi. |
Ö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, çıktıda bulunur. "red"
anahtarı birinci dizide otomatik olarak 0
'a atanır, ikinci dizide ise 0
yellow
tarafından alındığından 1
'e atanır.
<?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(0, 1, 2);
$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 )
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özdizimi kullanılabilir.
Bilginize: Çok fazla anahtara sahip benzer diziler karşılaştırılırken bağımsız değişkenlerin doğru sırada verilmesi önemlidir. Yeni dizi listedeki ilk dizi olmalıdır.