为了打印一个变量,我这样做:
if(isset($var)) print $var;
但我在这里重复 $var 2 次。有没有办法让它看起来像:
If $var exists then print it
代替
If $var exists then print $var
为了打印一个变量,我这样做:
if(isset($var)) print $var;
但我在这里重复 $var 2 次。有没有办法让它看起来像:
If $var exists then print it
代替
If $var exists then print $var
您可以使用
print (isset($var) ? $var : '');
?:
称为三元运算符
初始化$var
为空字符串,因此您将不需要 if-check。
假设你这样做$var = $_REQUEST['var'];
,你会不走运。
恕我直言,这是一个微优化,并不是很重要。
使用错误控制运算符“@”的帮助http://php.net/manual/en/language.operators.errorcontrol.php
echo @$var;
我不认为使用“如果 $var 存在则打印它”比“如果 $var 存在则打印 $var”更快。在内部,检查变量的脚本引擎是否已设置。可能是微优化。
此类问题可能会在 IT 测验中提出。我记得一个问题“如何编写一个打印字符串的程序。条件是不要使用分号”。给出了答案。
<?php if(print("Hello World")){}
不幸的是,没有针对此的简短的 PHP 内置解决方案。
在我们的框架中,我们使用自己的函数:
function isset_(&$aVariable, $aDefaultValue = null)
{
if (isset($aVariable)) return $aVariable;
return $aDefaultValue;
}
然后您可以执行以下操作:
echo isset_($var);
你可以做<?php echo @$var; ?>. Or <?= @$var ?>.