Функция PHP array_diff_uassoc()
Пример
Сравните имена ключей и значения ключей двух массивов (используя пользовательскую функцию для сравнения имен ключей) и верните разницу:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("d"=>"red","b"=>"green","e"=>"blue"); $result=array_diff_uassoc($a1,$a2,"myfunction"); print_r($result); ?>
Определение и использование
Функция array_diff_uassoc() используется для сравнения имен ключей и значений ключей двух (или более) массивов и возвращает разницу.
Комментарии:Эта функция использует пользовательскую функцию для сравнения имен ключей!
Эта функция сравнивает имена ключей и значения ключей двух (или более) массивов и возвращает массив разницы, который включает все элементы,array1), но не в других параметрических массивах (array2 или array3 и т.д.) ключей и значений.
Синтаксис
array_diff_uassoc(array1,array2,array3,...myfunction);
Параметры | Описание |
---|---|
array1 | Обязателен. Первый массив для сравнения с другими массивами. |
array2 | Обязателен. Массив для сравнения с первым массивом. |
array3,... | Опционален. Другие массивы для сравнения с первым массивом. |
myfunction | Обязателен. Строка, определяющая вызовимую функцию сравнения. Если первый параметр меньше, равен или больше второго параметра, функция сравнения должна возвращать целое число, меньше, равное или большее 0. |
Описание
Функция array_diff_uassoc() использует пользовательский回调-функцию (callback) для проверки индекса, чтобы вычислить разницу между двумя или несколькими массивами. Возвращает массив, который включает в себя все элементы, array1 но не в других параметрических массивах.
Обратите внимание, что в отличие от функции array_diff(), также сравниваются ключи.
Параметр myfunction - это пользовательская функция, предназначенная для сравнения двух массивов, которая должна иметь два параметра - это ключи, подлежащие сравнению. Таким образом, её поведение точно相反 по сравнению с функцией array_diff_assoc(), которая использует внутренние функции для сравнения.
Возвратный массив сохраняет ключи без изменений.
Технические детали
Возврат значения: | Возврат массива разности, который включает все значения в сравниваемых массивах (array1), но не в других параметрических массивах (array2 или array3 и т.д.) ключей и значений. |
PHP Версия: | 5+ |
Более примеров
Пример 1
Сравнение ключей и значений трёх массивов (используя пользовательскую функцию для сравнения ключей) и возврат разности:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $a2=array("a"=>"red","b"=>"green","d"=>"blue"); $a3=array("e"=>"yellow","a"=>"red","d"=>"blue"); $result=array_diff_uassoc($a1,$a2,$a3,"myfunction"); print_r($result); ?>