首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
PHP中的数组介绍
array()函数
array_change_key_case()函数
array_chunk()函数
array_column()函数
array_combine()函数
array_count_values()函数
array_diff()函数
array_diff_assoc()函数
array_diff_key()函数
array_diff_uassoc()函数
array_diff_ukey()函数
array_fill()函数
array_fill_keys() 函数
count()函数
end()函数
array_filter()函数
array_keys()函数
array_push()函数
array_flip()函数
array_rand()函数
array_reduce()函数
array_replace()函数
array_search()函数
array_sum()函数
array_values()函数
array_unique()函数
array_unshift()函数
array_walk()函数
in_array()函数
array_pop()函数
array_reverse()函数
array_shift()函数
array_slice()函数
extract()函数
key()函数
list()函数
sort()函数
当前位置:
首页>>
技术小册>>
PHP合辑3-数组函数
小册名称:PHP合辑3-数组函数
array_diff_uassoc()函数是PHP中的一个内置函数,用于使用用户定义函数比较键来获取一个或多个数组之间的差异。该函数比较一个或多个数组之间的键和值,并返回第一个数组中不存在于其他数组中的元素。根据提供给该函数的用户定义函数来比较键。注意:该函数与PHP的array_diff_assoc()函数不同,因为array_diff_assoc()函数根据内部函数比较键,而array_diff_uassoc()函数根据传递给它的用户定义函数来比较键。 语法: array_diff_uassoc(array1,array2, array3,...,arrayn, user_function) 参数:该函数接受一个参数列表,其中包含要查找差异的数组,以及用于比较键的用户定义函数。 list_of_array:该函数采用由空格分隔的数组列表,从中找到差异。在上面的语法中,数组列表是array1、array2、array3、……、arrayn。此列表必须包含至少两个数组,否则将引发警告。 user_function:这是一个字符串类型的参数,表示用于比较键的用户定义函数的名称。该函数返回一个整数,如果第一个参数大于第二个参数则返回大于0的值,小于第二个参数则返回小于0的值,等于第二个参数则返回等于0的值。 返回值:该函数返回一个包含第一个数组array1中不存在于其他参数中数组的元素的数组。比较在array1的键和值与其余数组之间进行。比较键是根据用户定义函数进行的。示例: ``` 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()函数: ``` <?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); ?> ``` output: ``` 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); ?> ``` output: ``` Array ( [20] => raj [30] => geek ) ``` array_diff_uassoc() 对于多维数组: array_diff_uassoc() 函数仅适用于一维数组。若要使用此函数检查多维数组,我们可以采用索引方法。 例如,对于二维数组: array_diff_assoc(array1[index],array2[index], array3[index],...,arrayn[index], user_function) 在下面的程序中,我们比较两个位于二维数组 a1 和 a2 的第一个索引位置的数组。 ``` <?php function user_function($a, $b) { if ($a===$b) { return 0; } return ($a>$b)? 1: -1; } // Input Arrays $a1 = array(array("a" => "green", "b" => "yellow", "c" => "white", "black"), "b" => "brown", "c" => "blue", "red"); $a2 = array(array("a" => "green", "b" => "yellow", "white", "d" => "black"), "yellow", "red"); $result = array_diff_uassoc($a1[0], $a2[0], "user_function"); print_r($result); ?> ``` output: ``` Array ( => white [0] => black ) ```
上一篇:
array_diff_key()函数
下一篇:
array_diff_ukey()函数
该分类下的相关小册推荐:
Laravel(10.x)从入门到精通(四)
Laravel(10.x)从入门到精通(一)
Laravel(10.x)从入门到精通(十四)
PHP8入门与项目实战(5)
PHP8入门与项目实战(6)
PHP面试指南
PHP底层原理及源码分析
PHP8入门与项目实战(7)
Shopify应用实战开发
HTTP权威指南
全栈工程师修炼指南
Laravel(10.x)从入门到精通(十)