0

可能重复:
PHP 的简写是什么:print var if var exists

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

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

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

If $var exists then print it

代替

If $var exists then print $var
4

5 回答 5

1

您可以使用 print (isset($var) ? $var : '');

?:称为三元运算符

于 2012-12-26T09:18:27.377 回答
1

初始化$var为空字符串,因此您将不需要 if-check。

假设你这样做$var = $_REQUEST['var'];,你会不走运。

恕我直言,这是一个微优化,并不是很重要。

于 2012-12-26T09:23:46.297 回答
0

使用错误控制运算符“@”的帮助http://php.net/manual/en/language.operators.errorcontrol.php

echo @$var;

我不认为使用“如果 $var 存在则打印它”比“如果 $var 存在则打印 $var”更快。在内部,检查变量的脚本引擎是否已设置。可能是微优化。

此类问题可能会在 IT 测验中提出。我记得一个问题“如何编写一个打印字符串的程序。条件是不要使用分号”。给出了答案。

<?php if(print("Hello World")){}
于 2012-12-26T09:23:46.563 回答
-1

不幸的是,没有针对此的简短的 PHP 内置解决方案。

在我们的框架中,我们使用自己的函数:

function isset_(&$aVariable, $aDefaultValue = null)
{
    if (isset($aVariable)) return $aVariable;
    return $aDefaultValue;
}

然后您可以执行以下操作:

echo isset_($var);
于 2012-12-26T09:38:51.717 回答
-2

你可以做<?php echo @$var; ?>. Or <?= @$var ?>.

于 2012-12-26T09:26:56.970 回答