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 bcompiler 函数 读取一个类的字节码并回调一个用户的函数php fann 函数 从用户提供的函数创建训练数据结构。php 数组 函数 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联php 数组 函数 使用用户自定义的比较函数对数组中的键名进行排序
关注编程学问公众号