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

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

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

组合比较运算符return -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