如果已设置变量$a,则希望使用echo变量$b;如果未设置变量$a,则希望使用echo变量$b。
我试过一些东西,但不像预期的那样起作用:
<?
$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;但是也许有更好的方法来做到这一点。我想要最快的方法来实现这一点。。
发布于 2012-11-08 15:18:59
这是最接近你想要做的事情:
$c = $a ?: $b;(它与$c = $a || $b中的JavaScript类似。)
请注意,这假设变量实际上已被设置。如果没有设置它们(即根本不存在),那么您应该真正使用isset。
发布于 2012-11-08 15:18:55
你问对的if it is set <-- isset()
所以
$c = isset( $a )?$a: isset( $b )?$b:‘都不是set';
发布于 2012-11-08 15:19:00
据我所知,$c = $a?$a:$b;是最好的方法
https://stackoverflow.com/questions/13291807
复制相似问题