PHP Tutorial - PHP array_udiff() Function






Definition

The array_udiff() function compares the values of two or more arrays using a user-defined function, and returns the differences.

Syntax

PHP array_udiff() Function has the following syntax.

array_udiff(array1,array2,array3...,myfunction)

Parameter

ParameterIs RequiredDescription
array1Required.Array to compare from
array2Required.Array to compare against
array3,...Optional.More arrays to compare against
myfunctionRequired.A string that define a callable comparison function.

myfunction must return an integer <, =, or > than 0 if the first argument is <, =, or > than the second argument.





Example 1

Compares the values of two arrays using a user-defined function, and returns the differences


<?php//from   w  w w.j ava  2  s  . co m
function myfunction($a,$b){
    if ($a===$b){
      return 0;
    }
    return ($a>$b)?1:-1;
}
$a1=array("a"=>"A","b"=>"HTML","c"=>"java2s.com");
$a2=array("a"=>"Apple","b"=>"CSS","e"=>"PHP");

$result=array_udiff($a1,$a2,"myfunction");
print_r($result);
?>

The code above generates the following result.





Example 2

Compares the values of three arrays using a user-defined function, and returns the differences


<?php/*from  ww  w .  j a va  2s  .  c o m*/
function myfunction($a,$b){
    if ($a===$b){
      return 0;
    }
    return ($a>$b)?1:-1;
}

$a1=array("a"=>"A","b"=>"HTML","c"=>"java2s.com");
$a2=array("a"=>"Apple","b"=>"CSS","e"=>"PHP");
$a3=array("a"=>"A","b"=>"HTML","X","Y");

$result=array_udiff($a1,$a2,$a3,"myfunction");
print_r($result);

?>

The code above generates the following result.