【发布时间】:2015-06-15 18:40:23
【问题描述】:
关于组合比较运算符 () 和空值合并运算符 (??) 的详细信息
【问题讨论】:
-
您考虑过阅读文档吗?
-
@vascowhite 是的,但文档中只有一些简短的信息而不是详细信息。
关于组合比较运算符 () 和空值合并运算符 (??) 的详细信息
【问题讨论】:
组合比较运算符返回 -1、0 或 1,具体取决于哪个大于另一个:
if ($x <=> $y == -1) {
echo '$x < $y';
} elseif ($x <=> $y == 1) {
echo '$x > $y';
} else {
echo '$x == $y';
}
null 合并运算符类似于 $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
【讨论】:
?? 比这更复杂。它也可以isset()。