array_diff_uassoc

(PHP 5, PHP 7)

array_diff_uassoc用用户提供的回调函数做索引检查来计算数组的差集

说明

array_diff_uassoc ( array $array1 , array $array2 [, array $... ], callable $key_compare_func ) : array

对比了 array1array2 并返回不同之处。 注意和 array_diff() 不同的是键名也用于比较。

array_diff_assoc() 不同的是使用了用户自定义的回调函数,而不是内置的函数。

参数

array1

待比较的数组

array2

和这个数组进行比较

...

更多比较的数组

key_compare_func

在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。

callback ( mixed $a, mixed $b ) : int

返回值

返回一个 array,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。

范例

Example #1 array_diff_uassoc() 例子

上面的例子中 "a" => "green" 出现在两个数组中因此不在函数的输出中。但是 0 => "red" 却在输出中,因为第二个参数中的 "red" 的键名是 1

<?php
function key_compare_func($a$b)
{
    if (
$a === $b) {
        return 
0;
    }
    return (
$a $b)? 1:-1;
}

$array1 = array("a" => "green""b" => "brown""c" => "blue""red");
$array2 = array("a" => "green""yellow""red");
$result array_diff_uassoc($array1$array2"key_compare_func");
print_r($result);
?>

以上例程会输出:

Array
(
    [b] => brown
    [c] => blue
    [0] => red
)

The equality of 2 indices is checked by the user supplied callback function.

注释

Note:

注意本函数只检查了多维数组中的一维。当然可以用 array_diff_uassoc($array1[0], $array2[0], "key_compare_func"); 检查更深的维度。

参见

相关文章
php 数组 函数 带索引检查计算数组的差集php 数组 函数 使用键名比较计算数组的差集php 数组 函数 用用户提供的回调函数做索引检查来计算数组的差集php 数组 函数 用回调函数对键名比较计算数组的差集php 数组 函数 带索引检查计算数组的交集php 数组 函数 带索引检查计算数组的交集,用回调函数比较索引php 数组 函数 用回调函数比较键名来计算数组的交集php 数组 函数 检查数组里是否有指定的键名或索引php 数组 函数 带索引检查计算数组的差集,用回调函数比较数据php 数组 函数 带索引检查计算数组的差集,用回调函数比较数据和索引php 数组 函数 用回调函数比较数据来计算数组的差集php 数组 函数 带索引检查计算数组的交集,用回调函数比较数据php 数组 函数 带索引检查计算数组的交集,用单独的回调函数比较数据和索引php 数组 函数 计算数组的交集,用回调函数比较数据php 数组 函数 使用用户自定义函数对数组中的每个元素做回调处理php 数组 函数 对数组进行逆向排序并保持索引关系php 函数处理 函数 调用回调函数,并把一个数组参数作为回调函数的参数php 类/对象 函数 以参数列表的数组,调用用户方法php 数组 函数 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联php mysqli 取消用户指定的回调函数
关注编程学问公众号