(PHP 4 >= 4.3.0, PHP 5)
array_diff_assoc — Изчислява разлика на масиви с допълнителна проверка на индекса
Сравнява array1 с array2 и връща разликите. За разлика от функция array_diff(), тук при сравняването се използват и ключовете на масивите.
Масивът, спрямо който се извършва сравнение
Масивът, с който се извършва сравнение
Още масиви, с които се извършва сравнение
Връща масив, съдържащ всички стойности от array1 , които не присъстват в никой от другите масиви.
Example #1 Пример за array_diff_assoc()
В този пример виждате, че двойката "a" => "green" присъства и в двата масива и следователно няма да бъде върната като част от резултата. За разлика от нея, двойката 0 => "red" е част от резултата, тъй като във втория аргумент "red" има ключ, който е равен на 1.
<?php
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Примерът по-горе ще изведе:
Array ( [b] => brown [c] => blue [0] => red )
Example #2 Пример за array_diff_assoc()
Стойностите от двойките ключ => стойност се приемат за равни само ако (string) $elem1 === (string) $elem2. Казано с други думи, тук се извършва стриктна проверка и следователно низовото им представяне трябва да бъде еднакво.
<?php
$array1 = array(0, 1, 2);
$array2 = array("00", "01", "2");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Примерът по-горе ще изведе:
Array ( [0] => 0 [1] => 1 )
Забележка: Функцията проверява само една размерност на n-мерен масив. Разбира се, можете да проверявате и други размерности посредством array_diff($array1[0], $array2[0]);.