我想echo
变量$a
如果已设置,或echo
变量$b
如果未设置变量$a
。
我尝试了一些东西,但它没有按预期工作:
<?
$a = "FOO";
$b = "BAR";
$c = $a OR $b;
echo $c; #output : FOO
//
$a = false;
$b = "BAR";
$c = $a OR $b;
echo $c; #output :
?>
我可以使用一个函数来完成它,比如
function F($a,$b) {
if($a) return $a;
return $b;
}
或使用此:
$c = $a ? $a : $b;
但也许有更好的方法来做到这一点。我希望以最快的方式实现这一目标。
答案 0 :(得分:1)
您问右if it is set
&lt; - isset()
所以
$ c = isset($ a)? $ a:isset($ b)? $ b:'两者都未设置';
答案 1 :(得分:1)
这是你最接近你要做的事情:
$c = $a ?: $b;
(类似于JavaScript中的$c = $a || $b
。)
请注意,这假设实际设置了变量。如果它们没有设置(即根本不存在),那么你应该使用isset
。
答案 2 :(得分:1)
根据我的$ c = $ a? $ a:$ b;是最好的方式