代码之家  ›  专栏  ›  技术社区  ›  Dan YOU

PHP编码实践

php
  •  7
  • Dan YOU  · 技术社区  · 14 年前

    if (isset($a) && $a > 2)
    

    或者我可以写

    if (@ $a > 2)
    

    哪个短一点。 第二种语法好还是不好?

    5 回复  |  直到 12 年前
        1
  •  10
  •   Community iksemyonov    7 年前

    totally sympathize @ 坏习惯。

    错误仍然发生,只是被抑制了。它花费了大量的微观时间,但是如果在循环中进行,这些时间会累积到很多。

    此外,您还取消了使用“未定义变量”通知的可能性:作为一种避免拼写错误的机制。

        2
  •  15
  •   Nick    14 年前

    表达式 if(@$a) 不检查是否设置了变量。@symbol只会超出任何错误编码样式的警告。

        3
  •  3
  •   ovais.tariq    14 年前

        4
  •  2
  •   Octavian Helm    14 年前

    函数isset检查变量是否存在以及是否为null。我不太清楚你想用$a达到什么目的。

        5
  •  2
  •   Jan.    14 年前

    正如人们已经说过的,第一种变体是可行的。

    if (isset($var) && !empty($var)) {
        /* foo */
    }
    

    或者只是

    if (!empty($var)) {
        /* foo */
    }