$val1 = false;
$val2 = 10;
$variable = $val1 || $val2;
上面的代码使$variable = true
。
如果$val2
为false,PHP中有没有任何运算符可以让$variable
接受$val1
的值?我认为||
会这样做,但它只在其中任何一个值为真时才返回true,或者如果两个值都为false则返回false……
发布于 2010-12-11 21:01:42
三元运算符
$variable = ($val1) ? $val1 : $val2;
或(在PHP 5.3+中)
$variable = ($val1) ?: $val2;
发布于 2010-12-11 21:02:40
运算符||
执行逻辑or,这就是为什么只返回true或false的原因。
您可能希望使用PHP ternary运算符:
$variable = $val1? "default value" : $val2;
发布于 2010-12-11 21:20:23
您还可以放弃运算符优先级:
$variable = $value1 or $variable = "value2";
or
比=
弱。如果您添加额外的空格,它将变得更具可读性。但这或多或少是在PHP<5.3中缺少?:的变通方法。
https://stackoverflow.com/questions/4418920
复制