我们以前都遇到过这种情况,需要在输入字段中打印变量,但是不确定是否像这样设置了var。基本上,这是为了避免e_warning。
<input value='<?php if(isset($var)){print($var);}; ?>'>
我该如何写得更短?我可以介绍这样的新功能:
<input value='<?php printvar('myvar'); ?>'>
但是我没有成功编写printvar()函数。
我的建议是创建一个issetor函数:
issetor
function issetor(&$var, $default = false) { return isset($var) ? $var : $default; }
它以变量作为参数,如果存在则返回它,如果不存在则返回默认值。现在您可以执行以下操作:
echo issetor($myVar);
但在其他情况下也可以使用它:
$user = issetor($_GET['user'], 'guest');
从PHP 7开始,您可以使用null-coalesce运算符:
$user = $_GET['user'] ?? 'guest';
或在您的用法中:
<?= $myVar ?? '' ?>