Kazi array_udiff
Kazi array_udiff inalinganisha arrays na kurudisha vipengele kutoka kwenye array ya kwanza, ambavyo havipo kwenye arrays zinazofuata. Kwa kulinganisha vipengele hutumia kazi ya callback, ambayo wewe mwenyewe hufafanua. Kigezo cha kwanza ni array kuu ya kulinganisha, migezo inayofuata ni arrays, ambazo array ya kwanza inalinganishwa nazo.
Sintaksia
array_udiff(array1, array2, ..., callback): array;
Mfano
Wacha tulinganishe arrays mbili za nambari, tukitumia kazi ya callback kwa kulinganisha:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [3, 4, 5, 6, 7];
$res = array_udiff($arr1, $arr2, function($a, $b) {
return $a <=> $b;
});
print_r($res);
?>
Matokeo ya kutekeleza kificho:
[1, 2]
Mfano
Wacha tulinganishe arrays za masharti kwa kutumia kazi ya mtumiaji kwa kulinganisha:
<?php
$arr1 = ['a', 'b', 'c', 'd'];
$arr2 = ['c', 'd', 'e', 'f'];
$res = array_udiff($arr1, $arr2, function($a, $b) {
return strcmp($a, $b);
});
print_r($res);
?>
Matokeo ya kutekeleza kificho:
['a', 'b']
Mfano
Kulinganisha na arrays nyingi:
<?php
$arr1 = [1, 2, 3, 4, 5];
$arr2 = [2, 3, 4];
$arr3 = [3, 4, 5];
$res = array_udiff($arr1, $arr2, $arr3, function($a, $b) {
return $a <=> $b;
});
print_r($res);
?>
Matokeo ya kutekeleza kificho:
[1]
Angalia pia
-
kazi
array_diff,
ambayo inakokotoa tofauti kati ya arrays -
kazi
array_intersect,
ambayo inakokotoa makutano ya arrays -
kazi
array_udiff_assoc,
ambayo inakokotoa tofauti kwa ukaguzi wa ziada wa fahirisi