一尘不染

PHP的缩写是什么:如果var存在,则打印var

php

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

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

我该如何写得更短?我可以介绍这样的新功能:

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

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


阅读 245

收藏
2020-05-29

共1个答案

一尘不染

对于PHP> = 5.x:

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

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

它以变量作为参数,如果存在则返回它,如果不存在则返回默认值。现在您可以执行以下操作:

echo issetor($myVar);

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

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

对于PHP> = 7.0:

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

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

或在您的用法中:

<?= $myVar ?? '' ?>
2020-05-29