Hướng dẫn
Quảng cáo

Hàm array_udiff_assoc() trong PHP

Hướng dẫn cách sử dụng hàm array_udiff_assoc() về mảng trong lập trình PHP

Tác dụng của hàm array_udiff_assoc()

The array_udiff_assoc() function compares the values of two or more arrays and returns the differences with additional key check using a user-defined value comparison function.

The following table summarizes the technical details of this function.

Return Value: Returns an array containing all the elements from array1 that are not present in any of the other arrays.
Version: PHP 5+


The basic syntax of the array_udiff_assoc() function is given with:

array_udiff_assoc(array1, array2, ..., value_compare_function);

The following example shows the array_udiff_assoc() function in action.

// Define value comparison function
function compare($a, $b){
    // Converting value to lowercase
    $a = strtolower($a);
    $b = strtolower($b);

    if($a == $b){
        return 0;
    return ($a < $b) ? -1 : 1;

// Sample arrays
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");
$array2 = array("A"=>"APPLE", "b"=>"ball", "c"=>"camel", "d"=>"DOG");

// Computing the difference
$result = array_udiff_assoc($array1, $array2, "compare");

Note: The value comparison function must return an integer equal to zero if both values are equal, an integer less than zero if the first value is less than the second value, and an integer greater than zero if the first value is greater than the second value.


The array_udiff_assoc() function accepts the following parameters.

Parameter Description
array1 Required. Specifies the array to compare from.
array2 Required. Specifies an array to compare against.
... Optional. Specifies more arrays to compare against.
value_compare_function Required. Specifies a callback function to use for value comparison.

More Examples

Here're some more examples showing how array_udiff_assoc() function actually works:

The following example shows how to compare the keys and values of three arrays and get the differences using the PHP's built-in strcasecmp() function as value comparison function.

// Sample arrays
$array1 = array("a"=>"apple", "b"=>"ball", "c"=>"cat", "d"=>"dog");
$array2 = array("A"=>"APPLE", "b"=>"ball", "c"=>"camel");
$array3 = array("c"=>"Cat", "d"=>"DOG");

// Computing the difference
$result = array_udiff_assoc($array1, $array2, $array3, "strcasecmp");

Bài viết này đã giúp ích cho bạn?

Bài viết mới