(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.
diziKarşılaştırılacak dizi.
dizilerKarşı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.