组合比较运算符 (<=>) 和空合并运算符 (??)


Combined comparison Operator (<=>) and null coalescing operator (??)

有关组合比较运算符 (<=>) 和空合并运算符 (??) 的详细信息

组合的比较运算符返回 -1、0 或 1,具体取决于哪个大于另一个:

if ($x <=> $y == -1) {
    echo '$x < $y';
} elseif ($x <=> $y == 1) {
    echo '$x > $y';
} else {
    echo '$x == $y';
}

空合并运算符类似于执行$x ?: $y,但检查的是null而不是 false-y:

$x = null;
$y = 'hello';
echo $x ?? $y; //hello
echo $x ?: $y; //hello
$x = 0;
$y = 1;
echo $x ?? $y; //0;
echo $x ?: $y; //1