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