PHP缩短,如果定义了echo变量

时间:2013-10-22 20:58:46

标签: php

有没有办法缩短这段代码?

<?= isset($email)?$email:''; ?>

我觉得重复$ email是多么愚蠢。我试过了

<?= isset($email)?:''; ?>

但它反过来来自isset的布尔值。

3 个答案:

答案 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()未定义变量的副本,而不是变量本身。