PHP - 检查是否设置了变量,然后在一个命令中打印它

时间:2012-12-26 09:12:26

标签: php if-statement

  

可能重复:
  What is the PHP shorthand for: print var if var exist

为了打印变量,我这样做:

if(isset($var)) print $var;

但我在这里重复$ var 2次。有没有办法让它看起来像:

If $var exists then print it

而不是

If $var exists then print $var

5 个答案:

答案 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 ?>.