首页 > 解决方案 > 用“array_diff_ukey”比较三个数组的键和值

问题描述

有人可以解释一下,这段代码 是什么1和: ?-1($a>$b)?1:-1;

我知道它Array ( [c] => blue )正在返回,因为键 c 不存在 $a2并且key_compare_func需要返回小于、等于或大于 0 的数字。

但我不明白,Array ( [c] => blue )当 key_compare_func 返回 0、1 和 -1 时,我是如何得到的:

function myfunction($a,$b) {
    if ($a === $b) {
        return 0;
    }
    return ($a > $b) ? 1 : -1;
}

$a1=array("a"=>"red","b"=>"green","c"=>"blue");
$a2=array("a"=>"blue","b"=>"black","e"=>"blue");

$result=array_diff_ukey($a1,$a2,"myfunction");

标签: phparrays

解决方案


如果($a>$b)为真(在 之后?)- 你返回 1。否则(在 之后:)将返回 -1。

这是一个简短的写法:

if ($a>$b) {
    return 1; 
} else {
    return -1; 
}

推荐阅读