PHP array_diff_ukey() 函数
定义和用法
array_diff_ukey() 函数仅通过使用用户定义的函数比较两个(或多个)数组的键,返回一个包含数组1中不在数组2或数组3等中的项的数组。
这个函数与 array_diff() 函数不同,array_diff() 函数比较值,而这个函数比较键。
这个函数与 array_diff_assoc() 函数不同,array_diff_assoc() 函数使用内部算法比较索引,而这个函数使用用户定义的函数。
语法
array_diff_ukey ( array1,array2 [, array3...,callbackkey_compare_func] );
参数
序号 | 参数和描述 |
---|---|
1 | array1(必需) 第一个数组是将与其他数组进行比较的数组。 |
2 | array2(必需) 它是要与第一个数组进行比较的数组。 |
3 | array3(可选) 它是要与第一个数组进行比较的数组。 |
4 | key_compare_func(必需) 这是一个用于比较键的回调函数。这个回调函数必须返回一个整数,如果第一个参数被认为是小于,等于,大于第二个参数,则返回<,=,>0。 |
返回值
此函数返回一个包含array1中所有在其他数组中不存在的条目的数组。
PHP版本
此函数首次出现在PHP版本5.1.0中。
示例
试试以下示例-
<?php
function key_compare_func(a,b) {
if (a ===b) {
return 0;
}
return (a>b)? 1: -1;
}
input1 = array(0=>"banana", 1=>"orange", 2=>"grapes");input2 = array(3=>"apple",1=>"apricot", 5=>"mango");
print_r(array_diff_ukey(input1,input2,"key_compare_func"));
?>
这将产生以下结果−
Array
(
[0] => banana
[2] => grapes
)
示例
尝试以下示例:
<?php
function key_compare_func(a,b) {
if (a ===b) {
return 0;
}
return (a>b)? 1: -1;
}
input1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4);input2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8);
print_r(array_diff_ukey(input1,input2,"key_compare_func"));
?>
这将生成以下结果−
Array
(
[red] => 2
[purple] => 4
)