array_udiff_assoc()是PHP中的一个内置函数,用于区分两个或多个数组。该函数使用带有附加键的用户定义函数,从两个或多个数组计算差异数组,并返回差异。它返回在第一个数组中存在而在任何其他数组中不存在的所有条目。它不同于 array_diff_assoc()函数 因为它允许用户定义的函数来决定标准。
语法:
array_udiff_assoc($array1,$array2,$array3…………array n,arr_udiffassocFun)
使用的参数: 该数组的函数参数如下所述:
- 阵列1: 它是初始数组,并与另一个数组进行比较。这是强制性的。
- 阵列2: 将数组与第一个数组键进行比较。这是强制性的。
- 阵列3: 第二个数组与第一个数组键进行比较。这是可选的。
- arr_udiffassocFun: 它是必需的用户定义函数和一个字符串,用于定义用户定义的回调函数,如果第一个参数小于、等于或>第二个参数,则返回大于0的整数。
返回值 :返回一个数组,该数组包含第一个数组的元素,而这些元素在所有其他数组中都不存在。如果存在所有数组元素,则数组返回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)。
<?php <?php // PHP code for array_udiff_assoc function. // This function is used to decide which elements // to pick array_udiff_assoc function arr_udiffassocFun( $x , $y ) { return ( $x === $y )? 0 : 1; } // array list for comparison. $arr1 = array ( "a" => "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。在里面 数组_diff_assoc() 和array_udiff_assoc(),比较键和值。 数组_diff() 只比较值。
课程:2 获取四个数组(array1、array2、array3和array4),并使用用户定义的键比较函数array_udiff_assoc()。
<?php // PHP code for array_udiff_assoc function // This function is used to decide which elements // to pick array_udiff_assoc function arr_udiffassocFun( $x , $y ) { return ( $x === $y )? 0 : 1; } // array list for comparison. $arr1 = array ( "a" => "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 参考资料: http://php.net/manual/en/function.array-udiff-assoc.php