array_diff_assoc
Вычислить расхождение в массивах с дополнительной проверкой индекса
Описание
arrayarray_diff_assoc
arrayarray_1
arrayarray_2
array ...
Функция array_diff_assoc возвращает массив,
состоящий из значений массива array_1,
которые отсутствуют в любом другом массиве, перечисленном
в последующих аргументах. Обратите внимание, что ключи возвращаемого расхождения отличны
от ключей расхождения, возвращаемого функцией array_diff.
Пример использования array_diff_assoc
"green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
]]>
Результатом вышеприведенной программы будет:
brown
[c] => blue
[0] => red
)
]]>
В вышеприведённом примере Вы видите, что пара "a" => "green"
содержится в обоих массивах и таким образом её не содержится в выводе функции.
Наоборот, пара 0 => "red"
содержится в выводе функции, потому что во втором аргументе значению "red"
соответствует ключ 1.
Два значения пар key => value
считаются равными только, если (string) $elem1 === (string)
$elem2 . Другими словами, строгая проверка считает, что
строковое представление должно быть идентичным.
Обратите внимание, что эта функция обрабатывает только одно измерение
n-размерного массива. Естественно, вы можете обрабатывать и более
глубокие уровни вложенности, например, используя
array_diff_assoc($array1[0], $array2[0]);.
См.также array_diff,
array_intersect,
и array_intersect_assoc.