什么区别? :和||

时间:2013-02-15 15:28:01

标签: php

使用?:条件运算符与||逻辑OR之间存在何种差异。

我发现我的代码适用于:

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

但不是:

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

有人可以解释为什么它可以与一个合作,而不是另一个。

2 个答案:

答案 0 :(得分:18)

第一个(conditional or)说...

this or this or this

另一个(ternary operation)说

if this then this otherwise that

答案 1 :(得分:8)

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

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

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

Expression1 ? Expression2 : Expression3;

enter image description here