这个 数组_diff_uassoc() 函数是PHP中的一个内置函数,用于使用用户定义的函数比较键来获取一个或多个数组之间的差异。此函数用于比较一个或多个数组之间的键和值,并返回第一个数组中其他数组中不存在的元素。根据提供给该函数的用户定义函数比较键。
null
注: 此函数与 PHP | array_diff_assoc()函数 在array_diff_assoc()函数中,键根据一些内部函数进行比较,而在array_diff_uassoc()函数中,键根据作为参数传递给它的用户定义函数进行比较。
语法:
array_diff_uassoc($array1, $array2, $array3, ..., $arrayn, user_function)
参数: 此函数接受数组列表作为参数和用户定义的函数,用于键的比较。
- 列出\u数组的\u: 这个函数获取一个数组列表,数组之间用空格分隔,我们希望从中找出差异。在上面的语法中,数组的列表是 $array1,$array2,$array3,$arrayn 。此列表必须至少包含两个数组,否则将引发警告。
- 用户功能: 这是一个字符串类型的参数,表示将用于键比较的用户定义函数的名称。该函数返回以下任一整数: 更小、更大或相等 如果第一个参数为 大的、小的或相等的 而不是第二个论点。
返回值: 此函数返回包含第一个数组元素的数组 1美元 在参数中传递给它的其他数组中不存在。在第一个数组的键和值之间进行比较 1美元 和其他阵列一起。根据用户定义的功能进行键的比较。
例如:
Input : $a1=array(10=>"striver", 20=>"raj", 30=>"geek") $a2=array(20=>"striver", 10=>"raj", 30=>"geek") function user_function($a, $b) { if ($a===$b) { return 0; } return ($a>$b)?1:-1; } Output: Array ( [10] => striver [20] => raj ) Explanation: Since user_function returns 0 when keys are equal and 1 and -1 when greater and less respectively. So, the elements with unequal keys are in the output array.
下面的程序演示了PHP中的array_diff_uassoc()函数:
方案1 :
<?php // PHP program to illustrate the // array_diff_uassoc() function // user defined function that returns 0 if // $array1's keys are equal to any other // input array, else returns 1 if greater, // or -1 if smaller function user_function( $a , $b ) { if ( $a === $b ) { return 0; } return ( $a > $b )? 1: -1; } // Input Arrays $a1 = array (10=> "striver" , 20=> "raj" , 30=> "geek" ); $a2 = array (20=> "striver" , 10=> "raj" , 30=> "geek" ); $result = array_diff_uassoc ( $a1 , $a2 , "user_function" ); print_r( $result ); ?> |
输出:
Array ( [10] => striver [20] => raj )
方案2 :
<?php // PHP program to illustrate the // array_diff_uassoc() function // user defined function that returns 1 if // $array1's keys are equal to any other // input array, else returns 1 if greater, // or 0 if smaller function user_function( $a , $b ) { if ( $a === $b ) { return 1; } return ( $a > $b )? 1: 0; } // Input Arrays $a1 = array (10=> "striver" , 20=> "raj" , 30=> "geek" ); $a2 = array (20=> "striver" , 10=> "raj" , 30=> "geek" ); $result = array_diff_uassoc ( $a1 , $a2 , "user_function" ); print_r( $result ); ?> |
: 输出:
Array ( [20] => raj [30] => geek )
参考 : http://php.net/manual/en/function.array-diff-uassoc.php
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END