Compare the values of two arrays using a user-defined function and return the differences.
<?php function myfunction($a,$b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } $a1=array(“a”=>“red”,“b”=>“green”,“c”=>“blue”); $a2=array(“a”=>“blue”,“b”=>“black”,“e”=>“blue”); $result=array_udiff($a1,$a2,“myfunction”); print_r($result); ?> |
The array_udiff()
function compares the values of two or more arrays and returns the differences.
Note: A user-defined function is used to compare the values!
This function identifies the entries in the first array that are not present in the subsequent arrays, returning an array containing those unique entries.
array_udiff(array1, array2, array3, …, myfunction) |
Parameter |
Description |
array1 |
Required. The array to compare against. |
array2 |
Required. An array to compare with. |
array3,… |
Optional. Additional arrays to compare with. |
myfunction |
Required. A string defining a callable comparison function that returns an integer less than, equal to, or greater than 0 if the first argument is less than, equal to, or greater than the second argument. |
Return Value: |
Returns an array with the entries from array1 that are not found in any of the other arrays. |
PHP Version: |
5.1.0+ |
Compare the values of three arrays using a user-defined function, and return the differences.
<?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); ?> |