什么是PHP简写:如果var存在,则打印var对于 php >= 7.0:对于 PHP >= 5.x:

2022-08-30 13:03:34

我们以前都遇到过这种情况,需要在输入字段中打印变量,但不确定是否设置了var,就像这样。基本上,这是为了避免e_warning。

<input value='<?php if(isset($var)){print($var);}; ?>'>

我怎么能写得更短?我可以引入这样的新功能:

<input value='<?php printvar('myvar'); ?>'>

但是我没有成功地编写printvar()函数。


答案 1

对于 php >= 7.0:

从 PHP 7 开始,您可以使用 null-合并运算符

$user = $_GET['user'] ?? 'guest';

或者在您的用法中:

<?= $myVar ?? '' ?>

对于 PHP >= 5.x:

我的建议是创建一个函数:issetor

function issetor(&$var, $default = false) {
    return isset($var) ? $var : $default;
}

这将变量作为参数并返回它(如果存在),或者返回默认值(如果不存在)。现在,您可以执行以下操作:

echo issetor($myVar);

但也在其他情况下使用它:

$user = issetor($_GET['user'], 'guest');

答案 2

另一种选择:

<input value="<?php echo isset($var) ? $var : '' ?>">

推荐