使用?:条件运算符和||逻辑OR运算符有什么区别。
我发现我的代码可以使用:

$screenpixelratio = !empty($_COOKIE['screenpixelratio']) || $_COOKIE['screenpixelratio'] || $fallback_pixelratio;

但不是:
$screenpixelratio = !empty($_COOKIE['screenpixelratio']) ? $_COOKIE['screenpixelratio'] : $fallback_pixelratio;

有人能解释一下为什么它会和一个一起工作,而不是另一个。

最佳答案

||二进制运算符是处理两个参数的运算符
正如它所说的,它将首先检查它是否正确,而不是不进一步检查,否则进一步检查
?:三元运算符是接受三个参数的运算符。参数和结果可以是不同类型的。

Expression1 ? Expression2 : Expression3;

08-07 17:56