有什么办法可以缩短这段代码?
<?= isset($email)?$email:''; ?>
我觉得重复 $email 有点愚蠢。我试过了
<?= isset($email)?:''; ?>
但它与来自 isset 的布尔值相呼应。
有什么办法可以缩短这段代码?
<?= isset($email)?$email:''; ?>
我觉得重复 $email 有点愚蠢。我试过了
<?= isset($email)?:''; ?>
但它与来自 isset 的布尔值相呼应。
<?= isset($email)?$email:''; ?> // is the shortest way to do it.
您可以编写一个自定义函数:
function safeEcho(&$var) {
if (isset($var))
return $var;
return null;
}
并调用此函数:
<?= safeEcho($var) ?>
“做空”的唯一方法是自定义函数。
function get(&$email) { // <- Note, there must be a reference!!!
return isset($email) ? $email : '';
}
<?= get($email); ?>
如果您在$email
没有引用的情况下通过,那么如果未设置变量,isset()
则会发出 a 。E_NOTICE
这是因为您传递给isset()
未定义变量的副本,而不是变量本身。