And*_*dri 2 php variables isset
只是有一个简单的问题.我想我知道答案,但我希望不是.
我希望能够回显一个我不知道是否设置的变量.所以我想要一个默认变量,如果它没有设置,我不想检查它是否先设置.
所以这是一个例子:
我有一个$变量,我不知道是否设置.
然后
echo "This is my number: " . $variable;
Run Code Online (Sandbox Code Playgroud)
如果$ variable设置为5,我希望它打印"这是我的号码:5",如果没有设置,我希望它打印"这是我的号码:0".
我知道我可以这样做:
echo "This is my number: " . ($variable? : 0);
Run Code Online (Sandbox Code Playgroud)
但后来我仍然注意到$ variable是未定义的,即使echo正确显示.
我也可以这样做
if (!isset($variable))
{
$variable = 0);
}
echo "This is my number: " . $variable;
Run Code Online (Sandbox Code Playgroud)
但是,如果我这么做的话,那就是代码太多了.
该空合并运算符是你最好的朋友.
echo "This is my number: " . ($variable ?? 0);
Run Code Online (Sandbox Code Playgroud)
从*7.0.0开始,可以使用null合并运算符.另一种用于旧版本的替代方案,可以使用isset()和使用.ternary operator ?:
echo "This is my number: " . (isset($variable) ? $variable : 0);
Run Code Online (Sandbox Code Playgroud)