Описание
array
array_diff_assoc ( array array_1, array array_2 [, array ...] )
Функция array_diff_assoc() возвращает массив,
состоящий из значений массива array_1,
которые отсутствуют в любом другом массиве, перечисленном
в последующих аргументах. Обратите внимание, что ключи возвращаемого расхождения отличны
от ключей расхождения, возвращаемого функцией array_diff().
Пример 1. Пример использования array_diff_assoc()
<?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
) |
|
В вышеприведённом примере Вы видите, что пара "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().