array_udiff_assoc

(PHP 5, PHP 7)

array_udiff_assoc带索引检查计算数组的差集,用回调函数比较数据

说明

array_udiff_assoc ( array $array1 , array $array2 [, array $... ], callable $value_compare_func ) : array

此比较是通过用户提供的回调函数来进行的。如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数。

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

参数

array1

第一个数组。

array2

第二个数组。

value_compare_func

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

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

返回值

array_udiff_assoc() 返回一个数组,该数组包括了所有在 array1 中但是不在任何其它参数数组中的值。注意和 array_diff()array_udiff() 不同的是键名也用于比较。数组数据的比较是用用户提供的回调函数进行的。在此方面和 array_diff_assoc() 的行为正好相反,后者是用内部函数进行比较的。

范例

Example #1 array_udiff_assoc() 例子

<?php
class cr {
    private 
$priv_member;
    function 
cr($val)
    {
        
$this->priv_member $val;
    }

    static function 
comp_func_cr($a$b)
    {
        if (
$a->priv_member === $b->priv_member) return 0;
        return (
$a->priv_member $b->priv_member)? 1:-1;
    }
}

$a = array("0.1" => new cr(9), "0.5" => new cr(12), => new cr(23), 1=> new cr(4), => new cr(-15),);
$b = array("0.2" => new cr(9), "0.5" => new cr(22), => new cr(3), 1=> new cr(4), => new cr(-15),);

$result array_udiff_assoc($a$b, array("cr""comp_func_cr"));
print_r($result);
?>

以上例程会输出:

Array
(
    [0.1] => cr Object
        (
            [priv_member:private] => 9
        )

    [0.5] => cr Object
        (
            [priv_member:private] => 12
        )

    [0] => cr Object
        (
            [priv_member:private] => 23
        )
)

上例中可以看到键值对 "1" => new cr(4) 同时出现在两个数组中因此不在本函数的输出中。

参见

相关文章
php 数组 函数 带索引检查计算数组的差集php 数组 函数 使用键名比较计算数组的差集php 数组 函数 用用户提供的回调函数做索引检查来计算数组的差集php 数组 函数 用回调函数对键名比较计算数组的差集php 数组 函数 计算数组的差集php 数组 函数 带索引检查计算数组的交集php 数组 函数 使用键名比较计算数组的交集php 数组 函数 带索引检查计算数组的交集,用回调函数比较索引php 数组 函数 用回调函数比较键名来计算数组的交集php 数组 函数 检查数组里是否有指定的键名或索引php 数组 函数 带索引检查计算数组的差集,用回调函数比较数据php 数组 函数 带索引检查计算数组的差集,用回调函数比较数据和索引php 数组 函数 用回调函数比较数据来计算数组的差集php 数组 函数 带索引检查计算数组的交集,用回调函数比较数据php 数组 函数 带索引检查计算数组的交集,用单独的回调函数比较数据和索引php 数组 函数 计算数组的交集,用回调函数比较数据php 数组 函数 计算数组中的单元数目,或对象中的属性个数php fann 函数 在以前计算参数的基础上,在训练之前放大输出向量中的数据php 数组 函数 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联php 数组 函数 使用用户自定义的比较函数对数组中的值进行排序
关注编程学问公众号