array_diff_uassoc
(PHP 5)
array_diff_uassoc — Изчислява разлика на масиви с допълнителна проверка на индекса извършвана от потребителска функция за обратно извикване
Описание
Сравнява array1 с array2 и връща разликите. За разлика от функция array_diff(), тук при сравняването се използват и ключовете на масивите.
За разлика от функция array_diff_assoc(), се използва не вътрешна функция, а потребителска функция за обратно извикване.
Параметри
- array1
-
Масивът спрямо който се извършва сравнението
- array2
-
Масивът с който се извършва сравнението
- ...
-
Още масиви с които се извършва сравнението
- key_compare_func
-
Функцията за обратно извикване (callback). Обратно извикващата функция трябва да върне цяло число по-малко, равно или по-голямо от нула, ако първият аргумент е съответно по-малък, равен или по-голям от втория.
Връщани стойности
Връща масив съдържащ всички стойности от array1 , които не присъстват в никой от другите масиви.
Примери
Example #1 Пример за array_diff_uassoc()
Двойката "a" => "green" съществува и в двата масива, следователно не се извежда от функцията. За разлика от нея, двойката 0 => "red" се извежда, тъй като вторият аргумент ("red") има ключ, който е равен на 1.
<?php
function key_compare_func($a, $b)
{
if ($a === $b) {
return 0;
}
return ($a > $b)? 1:-1;
}
$array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
$array2 = array("a" => "green", "yellow", "red");
$result = array_diff_uassoc($array1, $array2, "key_compare_func");
print_r($result);
?>
Примерът по-горе ще изведе:
Array
(
[b] => brown
[c] => blue
[0] => red
)
Равенството на два израза се проверява с потребителска функция за обратно извикване.
Бележки
Забележка: Функцията проверява само една размерност на n-мерен масив. Разбра се, можете да проверявате и други размерности посредством array_diff_uassoc($array1[0], $array2[0], "key_compare_func");.
Вж. също
- array_diff() - Изчислява разлика на масиви
- array_diff_assoc() - Изчислява разлика на масиви с допълнителна проверка на индекса
- array_udiff() - Изчислява разлика на масиви посредством функция за обратно извикване за сравнение на данните
- array_udiff_assoc() - Изчислява разлика на масиви с допълнителна проверка на индекса, сравнявайки данните посредством функция за обратно извикване
- array_udiff_uassoc() - Изчислява разлика на масиви с допълнителна проверка на индекса, сравнявайки данните и индексите посредством функция за обратно извикване
- array_intersect() - Изчислява сечението на масиви
- array_intersect_assoc() - Изчислява сечението на масиви с проверка на индекса
- array_uintersect() - Изчислява сечението на масиви, сравнявайки данните посредством функция за обратно извикване
- array_uintersect_assoc() - Изчислява сечението на масиви с допълнителна проверка на индекса, сравнявайки данните посредством функция за обратно извикване
- array_uintersect_uassoc() - Изчислява сечението на масиви с допълнителна проверка на индекса, сравнявайки данните и индексите посредством функция за обратно извикване
array_diff_uassoc
