我们以前都遇到过它,需要在输入字段中打印变量但不知道是否设置了var,就像这样.基本上这是为了避免电子警告.
<input value='<?php if(isset($var)){print($var);}; ?>'>
Run Code Online (Sandbox Code Playgroud)
我该怎么写这个更短?我可以介绍一个像这样的新功能:
<input value='<?php printvar('myvar'); ?>'>
Run Code Online (Sandbox Code Playgroud)
但是我没有成功编写printvar()函数.
Nik*_*kiC 69
我的建议是创建一个issetor函数:
function issetor(&$var, $default = false) {
return isset($var) ? $var : $default;
}
Run Code Online (Sandbox Code Playgroud)
这将变量作为参数并返回它(如果存在)或默认值(如果不存在).现在你可以这样做:
echo issetor($myVar);
Run Code Online (Sandbox Code Playgroud)
但在其他情况下也使用它:
$user = issetor($_GET['user'], 'guest');
Run Code Online (Sandbox Code Playgroud)
从PHP 7开始,您可以使用null-coalesce运算符:
$user = $_GET['user'] ?? 'guest';
Run Code Online (Sandbox Code Playgroud)
或者在您的使用中:
<?= $myVar ?? '' ?>
Run Code Online (Sandbox Code Playgroud)
Gal*_*len 11
另外一个选项:
<input value="<?php echo isset($var) ? $var : '' ?>">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25622 次 |
| 最近记录: |