рекомендации по курсу:
функция PHP array_udiff()
пример
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } сравнение значений ключей двух массивов (используя пользовательскую функцию для сравнения ключей) и возвращает разницу: $a1=array("a"=>"red","b"=>"green","c"=>"blue"); $result=$a2=array("a"=>"blue","b"=>"black","e"=>"blue");; print_r($result); ?>
array_udiff($a1,$a2,"myfunction")
определение и использование
функция array_udiff() используется для сравнения значений ключей двух (или более) массивов и возвращает разницу.комментарий:
функция сравнивает значения ключей двух (или более) массивов и возвращает массив разницы, который включает все значения в сравниваемых массивах (array1), но не содержащихся в любом другом параметрическом массиве (array2 или array3 и т.д.) значений ключей.
объяснение
функция array_udiff() возвращает массив, который включает все значения, находящиеся в сравниваемых массивах, но не в других параметрах массивов, с сохранением имен ключей.
функция array_udiff() array_diff() поведение функции различается, вторая использует внутреннюю функцию для сравнения.
сравнение данных выполняется с помощью функции array_udiff() myfunction .myfunction функция имеет два параметра для сравнения. Если первый параметр меньше второго, функция возвращает отрицательное число, если параметры равны, то возвращается 0, если первый параметр больше второго, то возвращается положительное число.
грамматика
array_udiff(array1,array2,array3...myfunction)
Параметры | Описание |
---|---|
array1 | Обязателен. Первый массив для сравнения с другими массивами. |
array2 | Обязателен. Массив для сравнения с первым массивом. |
array3,... | Опционален. Другие массивы для сравнения с первым массивом. |
myfunction |
Обязателен. Строковое значение, определяющее вызываемую функцию. Если первый параметр меньше или равен второму параметру, функция сравнения должна возвращать целое число, меньшее или большее 0. |
Технические детали
Возврат значения: | Возврат массива разницы, который содержит все значения ключей в сравниваемых массивах (array1), но не содержащихся в любом другом параметрическом массиве (array2 или array3 и т.д.) значений ключей. |
Версия PHP: | 5.1.0+ |
Более примеров
Пример 1
Сравнение значений ключей трех массивов (используя пользовательскую функцию для сравнения значений ключей) и возврат разницы:
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array("a"=>"red","b"=>"green","c"=>"blue","yellow"); $a2=array("A"=>"red","b"=>"GREEN","yellow","black"); $a3=array("a"=>"green","b"=>"red","yellow","black"); $result=array_udiff($a1,$a2,$a3,"myfunction"); print_r($result); ?>