Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何回显我不知道的变量';在PHP中,不知道是否以易于阅读的方式设置_Php_Variables_Isset - Fatal编程技术网

如何回显我不知道的变量';在PHP中,不知道是否以易于阅读的方式设置

如何回显我不知道的变量';在PHP中,不知道是否以易于阅读的方式设置,php,variables,isset,Php,Variables,Isset,有一个简单的问题。我想我知道答案,但我希望不知道 我希望能够回显一个不知道是否已设置的变量。所以我想要一个默认变量,如果它没有设置,我不想检查它是否设置了第一 下面是一个例子: 我有一个$variable,我不知道是否设置了它 然后 如果$variable设置为5,我希望它打印“这是我的号码:5”,如果未设置,我希望它打印“这是我的号码:0” 我知道我可以这样做: echo "This is my number: " . ($variable? : 0); echo "This is my n

有一个简单的问题。我想我知道答案,但我希望不知道

我希望能够回显一个不知道是否已设置的变量。所以我想要一个默认变量,如果它没有设置,我不想检查它是否设置了第一

下面是一个例子:

我有一个$variable,我不知道是否设置了它

然后

如果$variable设置为5,我希望它打印“这是我的号码:5”,如果未设置,我希望它打印“这是我的号码:0”

我知道我可以这样做:

echo "This is my number: " . ($variable? : 0);
echo "This is my number: " . (isset($variable) ? $variable : 0);
但是我仍然收到通知说$variable未定义,即使echo显示正确

我也可以这样做

if (!isset($variable)) 
{
  $variable = 0);
}
echo "This is my number: " . $variable;
但是如果我经常这么做的话,代码就太多了。

那是你最好的新朋友

echo "This is my number: " . ($variable ?? 0);

从PHP7.0.0开始,可以使用null合并运算符。在PHP5.3.0的旧版本中使用的另一种方法是使用和
?:

echo "This is my number: " . (isset($variable) ? $variable : 0);

试着这样做:

echo "This is my number: " . ($variable? : 0);
echo "This is my number: " . (isset($variable) ? $variable : 0);

适用于PHP5+

*Best friend仅适用于PHP7+:)@ishegg,现在每个人都应该使用它。@salathe不太适合。Ruby甚至更好我想这就是我想要的答案。。。即使我没有使用PHP7。如果您打算在这个echo语句之后使用
$variable
进行其他操作,最好在echo语句之前检查它是否已设置并将其设置为默认值一次。否则,您只需再次执行isset检查/默认值设置。(我并不认为你不知道这一点,但不管怎样,这似乎值得一提。)