PHP array_diff_uassoc() function

Example

Compare the key names and values of two arrays (using a user-defined function to compare key names) and return the difference set:

<?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("d" => "red", "b" => "green", "e" => "blue");
$result=array_diff_uassoc($a1, $a2, "myfunction");
print_r($result);
?>

Run Instance

Definition and Usage

The array_diff_uassoc() function is used to compare the key names and values of two (or more) arrays and returns the difference set.

Note:The function uses a user-defined function to compare key names!

This function compares the key names and values of two (or more) arrays and returns a difference set array that includes all elements inarray1)but not in any other parameter array (array2 or array3 etc.) key names and values.

Syntax

array_diff_uassoc(array1,array2,array3...myfunction);
Parameters Description
array1 Required. The first array to compare with other arrays.
array2 Required. The array to compare with the first array.
array3,... Optional. Other arrays to compare with the first array.
myfunction Required. A string that defines a callable comparison function. If the first parameter is less than, equal to, or greater than the second parameter, the comparison function must return an integer less than, equal to, or greater than 0.

Description

The array_diff_uassoc() function uses a user-defined callback function (callback) to perform index checks and calculate the difference set of two or more arrays. It returns an array that includes the elements in array1 but not in any other parameter array.

Note that unlike the array_diff() function, key names are also compared.

The parameter myfunction is a user-defined function used to compare two arrays. This function must have two parameters - i.e., the key names to be compared. Therefore, it is exactly opposite in behavior to the function array_diff_assoc(), which uses an internal function for comparison.

The key names in the returned array remain unchanged.

Technical Details

Return Value: Returns the difference set array, which includes all the values in the arrays being compared (array1)but not in any other parameter array (array2 or array3 etc.) key names and values.
PHP Version: 5+

More Examples

Example 1

Compare the key names and values of three arrays (using a user-defined function to compare key names) and return the difference set:

<?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"=>"red","b"=>"green","d"=>"blue");
$a3=array("e"=>"yellow","a"=>"red","d"=>"blue");
$result=array_diff_uassoc($a1,$a2,$a3,"myfunction");
print_r($result);
?>

Run Instance