在javascript中我可以这样做:
$a= $b || $c
如果$ b为null或空,则$ a = $ C,否则$ A = $ B。
在php中有这样的东西吗?
我想:
$a=$b && $c
,但我得到$ a = true或false,而不是$ B或$ C值。
在javascript中我可以这样做:
$a= $b || $c
如果$ b为null或空,则$ a = $ C,否则$ A = $ B。
在php中有这样的东西吗?
我想:
$a=$b && $c
,但我得到$ a = true或false,而不是$ B或$ C值。
这是因为通过应用“||”运算符对这些参数进行逻辑表达,它的回答是真/假。
可以使用:
$a = $b?$b:$c;
作为PHP 5.3的可以使用缩短的表达式:
$a = $b?:$c;
其中不相同。
Python也有这个,但在PHP逻辑运算符返回一个布尔值。
您可以$b ? $b : $c
或者你也可以更换$b
条件与!empty($b)
,!is_null($b)
,等等...但首先要确保你理解what they do(例如0
和"0"
都是空的,这是没有必要的,你想要什么)。我的猜测是你需要(isset($b) && $b !== "")
。
既然PHP 5.3:'$ b?:$ c' – deceze 2013-02-26 10:50:42
短版:
$a = (empty($b) ? $c : $b)
龙版本:
if (empty($b)
$a = $c;
else
$a = $b;
$a = !empty($b) ? $b : $c;
也许不正是你所寻找的,但三元条件会做(这是常见的大多数语言)
条件? case true:case false;
'$ a =空($ b)? $ c:$ b;' – Federkun 2013-02-26 10:49:23
是否保证'$ b'存在*? – deceze 2013-02-26 10:51:17
请注意,在JavaScript中,'b ||如果是真的,则评价为“b”;如果“b”是假的,评价为“c”这涵盖了比“'b'为空或空”更多的情况 – Xophmeister 2013-02-26 10:53:32