为了打印变量,我这样做:
if(isset($var)) print $var;
但我在这里重复$ var 2次。有没有办法让它看起来像:
If $var exists then print it
而不是
If $var exists then print $var
答案 0 :(得分:1)
你可以使用
print (isset($var) ? $var : '');
?:
名为ternary operator
答案 1 :(得分:1)
将$var
初始化为空字符串,这样您就不需要if-check。
假设你做$var = $_REQUEST['var'];
,你将会失去运气。
Imho这是一种微观优化,并不是非常重要。
答案 2 :(得分:0)
使用错误控制操作员“@”http://php.net/manual/en/language.operators.errorcontrol.php
的帮助echo @$var;
我不认为使用“如果$ var存在然后打印它”比“如果$ var存在然后打印$ var”更快。在内部设置或不设置检查变量的脚本引擎。可能是微观优化。
可以在IT测验中询问此类问题。 我记得一个问题“如何编写打印字符串的程序。条件是不要使用分号”。给出了答案。
<?php if(print("Hello World")){}
答案 3 :(得分:-1)
不幸的是,没有简短的PHP内置解决方案。
在我们的框架中,我们使用自己的函数:
function isset_(&$aVariable, $aDefaultValue = null)
{
if (isset($aVariable)) return $aVariable;
return $aDefaultValue;
}
然后你可以做类似的事情:
echo isset_($var);
答案 4 :(得分:-2)
你可以<?php echo @$var; ?>. Or <?= @$var ?>.