Сравните имена ключей и значения ключей двух массивов (для сравнения имен ключей используйте встроенные функции, для сравнения значений ключей используйте пользовательские функции) и верните разницу:
<?phpfunction myfunction($a,$b){if ($a===$b) { return 0 } return; ($a>$b)?1:-1;}$a1=array("a"=>"красный","b"=>"зеленый","c"=>"синий");$a2= array("a"=>"красный","b"=> "blue","c"=>"green");$result=array_udiff_assoc($a1,$a2,"myfunction");print_r($result);?>Функция array_udiff() используется для сравнения имен ключей и значений ключей двух (или более) массивов и возврата разницы.
Примечание. Эта функция использует встроенные функции для сравнения имен ключей и пользовательские функции для сравнения значений ключей!
Эта функция сравнивает ключи и значения двух (или более) массивов и возвращает массив разностей, который включает все элементы сравниваемого массива ( массив1 ), но не входит ни в один из других массивов аргументов ( массив2 или массив3 и т. д.) в имя ключа и значение ключа.
array_udiff_assoc( массив1,массив2,массив3...,мояфункция )
параметр | описывать |
---|---|
массив1 | Необходимый. Первый массив для сравнения с другими массивами. |
массив2 | Необходимый. Массив для сравнения с первым массивом. |
массив3,... | Необязательный. Дополнительный массив для сравнения с первым массивом. |
моя функция | Необходимый. Строка, определяющая вызываемую функцию сравнения. Если первый параметр <, =, > второго параметра, соответствующая функция сравнения должна возвращать целое число <, =, > 0. |
Возвращаемое значение: | Возвращает массив различий, включающий все ключи и значения, которые есть в сравниваемом массиве ( массив1 ), но отсутствуют в каком-либо другом массиве параметров ( массив2 или массив3 и т. д.). |
---|---|
PHP-версия: | 5+ |