English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
array_diff_assoc()Функция сравнивает два (или несколько) массива и возвращает разницу.
Эта функция сравнивает ключи и значения двух (или нескольких) массивов и возвращает массив, содержащий элементы array1, которые отсутствуют в array2 или array3, ... и т.д.
Эта функция отличается отarray_diff()функция, так как array_diff() использует только значения для сравнения с другими массивами, аarray_diff_assoc()Функция использует ключи и значения для сравнения с другими массивами.
array array_diff_assoc(array $array1, array $array2[, array $array3...]);
Номер | Параметры и описание |
---|---|
1 | array1 (обязателен) Это массив, с которым нужно сравнивать |
2 | array2 (обязателен) Это массив, с которым нужно сравнивать |
3 | array3 (по желанию) Это массив, с которым нужно сравнивать |
Функция array_diff_assoc() возвращает массив, который содержит все значения array1, которые не существуют в других массивах с такими же ключами.
Эта функция была добавлена в PHP earliest в версии 4.3.0.
Попробуйте следующий пример. В обоих массивах присутствуют "a" => "orange" и "c" => "banana", поэтому они не будут присутствовать в результате.
<?php $input1 = array("a" => "orange", "b" => "mango", "c" => "banana"); $input2 = array("a" => "orange", "b" => "apple", "c" => "banana"); print_r(array_diff_assoc($input1, $input2)); ?>Проверим‹/›
Результат вывода:
Массив ( [b] => mango )
В этом примере два массива различаются по всем элементам, например, "a" => "orange" не существует во втором массиве, также как и другие пары ключей и значений.
<?php $input1 = array("a" => "orange", "b" => "mango", "c" => "banana"); $input2 = array("a" => "banana", "b" => "apple", "c" => "orange"); print_r(array_diff_assoc($input1, $input2)); ?>Проверим‹/›
Результат вывода:
Массив ( [a] => orange [b] => mango [c] => banana )
Следующий пример объясняет, что значения视为相等 только в том случае, если (string)$elem1 === (string)$elem2, то есть, только если ключи и значения в паре ключ=значение равны.
<?php $input1 = array(0, 5, 20); $input2 = array("00", "05", "20"); $result = array_diff_assoc($input1, $input2); print_r($result); ?>Проверим‹/›
Результат вывода:
Массив ( [0] => 0 [1] => 5 )