PHP | array_udiff_assoc()函数
array_udiff_assoc() 是PHP中的一个内置函数,用于区分两个或多个数组。该函数函数两个或多个数组的差异数组并返回差异。它返回存在于第一个数组中且不存在于任何其他数组中的所有条目。它与 array_diff_assoc()函数不同,因为它允许用户定义的函数来决定标准。
句法:
array_udiff_assoc($array1, $array2, $array3……….array nth, arr_udiffassocFun)
使用的参数:此 array_udiff_assoc()函数参数描述如下:
- array1 :它是初始数组,并与另一个数组进行比较。这是强制性的。
- array2 :该数组与第一个数组键比较。它是强制性的。
- array3 :第二个数组与第一个数组键的比较。它是可选的。
- 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