PHP Reference

Quick Reference

The PHP array_udiff_uassoc() function compares the keys/values of two or more arrays, and returns the entries from array1 not in the other array(s).

This function uses two user-defined functions for comparison. The key is used in the first function and the value is used in the second.

Both the keys and values are compared. Both must be a match.

<?php
function my_function_key($a, $b) {
    if ($a===$b) {
        return 0;
    }
    return ($a>$b)?1:-1;
}

function my_function_value($a, $b) {
    if ($a===$b) {
        return 0;
    }
    return ($a>$b)?1:-1;
}

$a1 = array('Car 1' => 'Lamborghini', 'Car 2' => 'Alfa Romeo', 'Car 5' => 'Maserati');
$a2 = array('Car 1' => 'Lamborghini', 'Car 2' => 'Ferrari', 'Car 3' => 'Maserati');

$result = array_udiff_uassoc($a1, $a2, 'my_function_value', 'my_function_key');
print_r($result);
?>

Note

Arrays count starting from zero NOT one. So item 1 is position [0], item 2 is position [1], and item 3 is position [2] … and so on.

Output

Array ( [Car 2] => Alfa Romeo [Car 5] => Maserati )

Syntax

array_udiff_uassoc(array1, array2, array3, ..., myfunc_key, myfunc_value)

Parameters

ParameterDescription
array1The array to compare from (required)
array2The array to compare against (required)
array3, ...Additional arrays to compare against
myfunc_keyThe name of the user-defined function that compares the array keys; a string that defines a callable comparison function; the comparison function must return an integer <, =, or > than 0 if the first argument is <, =, or > than the second argument (required)
myfunc_valueThe name of the user-defined function that compares the array values; a string that defines a callable comparison function; the comparison function must return an integer <, =, or > than 0 if the first argument is <, =, or > than the second argument (required)

PHP Notes:

  • When using PHP, single or double quotation marks are acceptable and work identically to one another; choose whichever you prefer, and stay consistent
  • Arrays count starting from zero NOT one; so item 1 is position [0], item 2 is position [1], and item 3 is position [2] … and so on

We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.