array_diff_ukey
array_diff_ukey
(PHP 5 >= 5.1.0, PHP 7)
array_diff_ukey - 使用键上的回调函数计算数组的差异以进行比较
描述
array array_diff_ukey ( array $array1 , array $array2 [, array $... ], callable $key_compare_func )
比较来自键array1
的键array2
和返回差异。这个函数就像array_diff(),除了在键上而不是数值上进行比较外。
与array_diff_key()不同,用户提供的回调函数用于索引比较,而不是内部函数。
参数
array1
要比较的数组
array2
一个数组来比较
...
更多的阵列可以进行比较
key_compare_func
如果第一个参数分别小于,等于或大于第二个参数,则比较函数必须返回小于,等于或大于零的整数。请注意,在PHP 7.0.0之前,此整数必须在-2147483648到2147483647之间。
int callback ( mixed $a, mixed $b )
返回值
返回一个数组,其中包含来自array1
其他任何数组中不存在的所有条目的数组。
示例
示例#1 array_diff_ukey()示例
<?php
function key_compare_func($key1, $key2)
{
if ($key1 == $key2)
return 0;
else if ($key1 > $key2)
return 1;
else
return -1;
}
$array1 = array('blue' => 1, 'red' => 2, 'green' => 3, 'purple' => 4
$array2 = array('green' => 5, 'blue' => 6, 'yellow' => 7, 'cyan' => 8
var_dump(array_diff_ukey($array1, $array2, 'key_compare_func')
?>
上面的例子将输出:
array(2) {
["red"]=>
int(2)
["purple"]=>
int(4)
}
注意
注意
:此函数仅检查n维数组的一个维度。
当然,你可以使用array_diff_ukey($ array10,$ array20,'callback_func')
来检查更深层次的维度。
。
另请参阅
- array_diff() - 计算数组的差异
- array_udiff() - 通过使用回调函数进行数据比较来计算数组的差异
- array_diff_assoc() - 通过附加索引检查计算数组的差异
- array_diff_uassoc() - 通过用户提供的回调函数执行附加索引检查来计算数组的差异
- array_udiff_assoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据
- array_udiff_uassoc() - 通过附加索引检查计算数组的差异,通过回调函数比较数据和索引
- array_diff_key() - 使用用于比较的键计算数组的差异
- array_intersect() - 计算数组的交集
- array_intersect_assoc() - 计算具有额外索引检查的数组的交集
- array_intersect_uassoc() - 计算具有附加索引检查的数组的交集,通过回调函数比较索引
- array_intersect_key() - 使用键比较计算数组的交集
- array_intersect_ukey() - 使用键上的回调函数计算数组的交集以进行比较
← array_diff_uassoc
array_diff →