7

?:使用条件运算符和||Logical之间有什么区别OR

我发现我的代码适用于:

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

但不是:

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

有人可以解释为什么它可以与一个一起工作,但不能与另一个一起工作。

4

2 回答 2

18

第一个(条件或)是说...

this or this or this

另一个(三元运算)是说

if this then this otherwise that
于 2013-02-15T15:29:27.650 回答
8

||二元运算符是处理两个参数的运算符

正如它所说,它将首先检查它是否真实而不是进一步检查否则进一步检查

?:三元运算符是一个接受三个参数的运算符。参数和结果可以是不同的类型。

Expression1 ? Expression2 : Expression3;

在此处输入图像描述

于 2013-02-15T15:33:15.943 回答