有没有一种简洁的方法来编写这段代码?
if(y) {x=y;} else {x="default"}
我尝试过
$x=$y||"default"
但是它失败了。
if(y) {x=y;} else {x="default"}
我尝试过
$x=$y||"default"
但是它失败了。
使用PHP三目运算符,如下所示:
$x = $y ?: "default";
如果您使用的是PHP < 5.3,那么您需要使用完整的三元形式,如下所示:
$x = $y ? $y : "default";
这将会在一个函数中吗?你可以这样做:
function foo($bar = "default")
{
if(x==y)
{
$bar="something";
}
return $bar; //will return "default" if x!=y
}
或者你是想要写类似这样的东西:
$x == $y ? $bar = "something" : $bar = "default";
$x = isset($y) && $y ? $y : 'default';
所以你在这里做的是检查变量$y(在你的代码中可能是任何值)是否已设置,并且如果设置了,则检查它是否为真值(任何非空、null或0的值)。当通过这些检查时,$x被赋值为$y的值,否则,$x被赋值为字符串'default'。
这被称为简写条件表达式:
$x = <如果条件为真> ? <则设置为此值> : <否则,设置为此值>;
也可以用echo输出:
echo <如果条件为真> ? <输出此值> : <否则,输出此值>;
也许最简单的方法是使用三元运算符:
$x = $y ? $y : "default";
$x = $y ? $y : 'default';
- MH2K9$x=$y?:'default';
可以在 PHP 5.3+ 中实现。 - user1864610