Funkcija array_uintersect
Funkcija array_uintersect apskaičiuoja masyvų sankirtą, naudodama callback funkciją reikšmių palyginimui. Ji grąžina masyvą, kuriame yra visi elementai iš pirmojo masyvo, esantys visuose kituose masyvuose. Reikšmių palyginimas vyksta naudojant vartotojo callback funkciją.
Sintaksė
array_uintersect(array $array1, array $array2, ..., callable $value_compare_func): array;
Pavyzdys
Raskime dviejų masyvų sankirtą, lygindami jų reikšmes naudodami callback funkciją:
<?php
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 4, 6, 8, 10];
$res = array_uintersect($array1, $array2, function($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
});
print_r($res);
?>
Kodo vykdymo rezultatas:
[2, 4]
Pavyzdys
Masyvų su eilutėmis palyginimas naudojant vartotojo funkciją:
<?php
$array1 = ['a', 'b', 'c', 'd', 'e'];
$array2 = ['b', 'd', 'f', 'h', 'j'];
$res = array_uintersect($array1, $array2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Kodo vykdymo rezultatas:
['b', 'd']
Taip pat žiūrėkite
-
funkciją
array_intersect,
kuri apskaičiuoja masyvų sankirtą -
funkciją
array_intersect_assoc,
kuri apskaičiuoja masyvų sankirtą su papildomu indekso patikrinimu -
funkciją
array_uintersect_assoc,
kuri apskaičiuoja masyvų sankirtą su papildomu indekso patikrinimu, naudodama callback funkciją