📜  PHP | array_udiff_assoc()函数

📅  最后修改于: 2022-05-13 01:56:19.909000             🧑  作者: Mango

PHP | array_udiff_assoc()函数

array_udiff_assoc() 是PHP中的一个内置函数,用于区分两个或多个数组。该函数函数两个或多个数组的差异数组并返回差异。它返回存在于第一个数组中且不存在于任何其他数组中的所有条目。它与 array_diff_assoc()函数不同,因为它允许用户定义的函数来决定标准。

句法:

使用的参数:此 array_udiff_assoc()函数参数描述如下:

  1. array1 :它是初始数组,并与另一个数组进行比较。这是强制性的。
  2. array2 :该数组与第一个数组键比较。它是强制性的。
  3. array3 :第二个数组与第一个数组键的比较。它是可选的。
  4. arr_udiffassocFun:它是必需的用户定义函数和定义用户定义回调函数的字符串,如果第一个参数是 <、= 或 >,则返回一个整数 <、= 或 > 大于第二个参数。

返回值:返回一个数组,其中包含第一个数组中不存在于所有其他数组中的元素。如果存在所有数组元素,则数组返回 NULL。
注意:此内置函数array_udiff_assoc()) 用于比较数组的键和用户定义的函数来比较值。该函数仅检查 n 维数组的一维。

示例 1:

Input :
 $arr1 = array(
    "a" => "Geeks",
    "b" => "for",
    "d" => "geeks"
);
$arr2 = array(
    "a" => "Geeks",
    "y" => "is",
    "d" => "geeks"
);
Output:
Array
(
    [b] => for
)
Explanation: arr1 contains only one 
values(for) which is not present in 
arr2.

示例 2:

Input:
$arr1 = array(
    "a" => "C",
    "b" => "C++",
    "d" => "Java",
    "x" => "XML",
    "y" => "C#"
);
$arr2 = array(
    "a" => "C",
    "b" => "C++",
    "d" => "PHP",
    "x" => "Advanced PHP",
    "n" => "XML"    
);
Output:
Array
(
    [d] => Java
    [x] => XML
    [y] => C#
)

Explanation: arr1  return three values
(article) which are not present in arr2.
But XML is present both arr1 and arr2 
but both have different key.

让我们通过一个简单的例子来了解 array_udiff_assoc()函数。

方案 1:取两个数组(array1 和 array2)并使用用户定义的键比较函数(arr_udiffassocFun)。

 "Raj",
    "b" => "Ram",
    "d" => "Denish",
    "r" => "David"
);
$arr2 = array(
    "a" => "Raj",
    "y" => "Ram",
    "d" => "Denish",
    "x" => "Ritche"
);
  
// Driver code
$result = array_udiff_assoc($arr1,
             $arr2, "arr_udiffassocFun");
print_r($result);
?>

输出:

Array
(
    [b] => Ram
    [r] => David
)

注意:[b] => Ram 被打印,因为 key 不同。在 array_diff_assoc() 和 array_udiff_assoc() 中,键和值都进行了比较。 array_diff() 只比较值。

程序: 2采用四个数组(array1、array2、array3 和 array4)并使用用户定义的键比较函数array_udiff_assoc()。

 "Larry",
    "b" => "Page",
    "d" => "Denish",
    "r" => "Ritche"
);
$arr2 = array(
    "a" => "Larry",
    "y" => "Page",
    "d" => "Denish",
    "r" => "Ritche"
);
$arr3 = array(
    "a" => "larry",
    "y" => "Bill Gate",
    "d" => "Denish",
    "r" => "Willion"
);
$arr4 = array(
    "a" => "Raj",
    "y" => "Bill Gate",
    "d" => "Denish",
    "r" => "Woks"
);
$result = array_udiff_assoc($arr1,
   $arr2, $arr3, $arr4, "arr_udiffassocFun");
// print result.
print_r($result);
?>

输出:

Array
(
    [b] => Page
)

相关文章:

  • PHP | arr_diff()函数:计算数组的差异。
  • PHP | arr_udiff()函数:通过使用的用户自定义回调函数计算数组的差异并比较数据。
  • PHP | array_diff_assoc()函数:计算带有附加索引键的数组的差异。
  • PHP | array_diff_uassoc()函数:此函数比较一个或多个数组之间的键和值,并返回第一个数组中其余数组中不存在的元素。
  • PHP | array_diff_key()函数:将第一个参数数组的键与其余数组进行比较,并返回一个数组,其中包含 $array1 中不存在于任何其他数组中的所有条目。

练习类似的问题: PHP
参考: 函数 : PHP 。 PHP