编程语言
首页 > 编程语言> > PHP函数array_diff_ukey

PHP函数array_diff_ukey

作者:互联网

array_diff_ukey通过自定义函数来比较键,计算数组的差集 

/**
 * Computes the difference of arrays using a callback function on the keys for comparison
 * @link https://php.net/manual/en/function.array-diff-ukey.php
 * @param array $array1 <p>
 * The array to compare from
 * </p>
 * @param array $array2 <p>
 * An array to compare against
 * </p>
 * @param array $_ [optional]
 * @param callback $key_compare_func <p>
 * callback function to use.
 * The callback function must return an integer less than, equal
 * to, or greater than zero if the first argument is considered to
 * be respectively less than, equal to, or greater than the second.
 * </p>
 * @return array an array containing all the entries from
 * array1 that are not present in any of the other arrays.
 * @meta
 */
function array_diff_ukey(array $array1, array $array2, array $_ = null, $key_compare_func) { }

 

示例: 

$array1 = [
    'a' => 'aaa-1',
    'b' => 'bbb-1',
    'c' => 'ccc'
];

$array2 = [
    'a' => 'aaa-2',
    'b' => 'bbb-2',
    'e' => 'ccc'
];

$result = array_diff_ukey($array1, $array2, function($k1, $k2){
    if ($k1 == $k2) {
        return 0;
    }

    return $k1 > $k2 ? 1 : -1;
});

var_dump($result);

//结果
//array(1) {
//  'c' =>
//  string(3) "ccc"
//}

标签:function,compare,array1,ukey,diff,array,PHP
来源: https://blog.csdn.net/mianhuatangVSyeyu/article/details/121359689