在PHP中设置变量的默认值

4
有没有一种简洁的方法来编写这段代码?
if(y) {x=y;} else {x="default"}

我尝试过

$x=$y||"default"

但是它失败了。


$x = $y ? $y : 'default'; - MH2K9
我认为 $x=$y?:'default'; 可以在 PHP 5.3+ 中实现。 - user1864610
4个回答

4

使用PHP三目运算符,如下所示:

$x = $y ?: "default";

如果您使用的是PHP < 5.3,那么您需要使用完整的三元形式,如下所示:

$x = $y ? $y : "default";

0

这将会在一个函数中吗?你可以这样做:

function foo($bar = "default")
{
    if(x==y)
    {
        $bar="something";
    }
    return $bar; //will return "default" if x!=y
}

或者你是想要写类似这样的东西:

$x == $y ? $bar = "something" : $bar = "default";

0
$x = isset($y) && $y ? $y : 'default';

所以你在这里做的是检查变量$y(在你的代码中可能是任何值)是否已设置,并且如果设置了,则检查它是否为真值(任何非空、null或0的值)。当通过这些检查时,$x被赋值为$y的值,否则,$x被赋值为字符串'default'。

这被称为简写条件表达式:

$x = <如果条件为真> ? <则设置为此值> : <否则,设置为此值>;

也可以用echo输出:

echo <如果条件为真> ? <输出此值> : <否则,输出此值>;


0

也许最简单的方法是使用三元运算符:

$x = $y ? $y : "default";

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接