检查字符串变量是否包含数据,哪一个更好!空()或'!'

时间:2014-02-18 13:48:01

标签: php

我发现有些人更喜欢使用!empty($val)而不是!$val检查字符串是否存在。使用!empty()而不是!有什么好处? 假设字符串可以是:

  1. “”
  2. “假”
  3. “1”
  4. “0”
  5. 以上所有方法都给出了相同的结果。是否有任何其他情况会导致使用一个而不是另一个?

1 个答案:

答案 0 :(得分:4)

  

empty($var)!$var a.k.a. $var == false

唯一的区别是,如果变量不存在,empty不会抛出未定义变量,否则它们都是相同的。现在,如果您确定变量应该,则只使用!。如果变量合法不存在,请使用empty。如果你不必要地使用empty,你就会不必要地禁用PHP的错误报告机制,这可能会帮助你发现输入错误的变量或逻辑错误的问题。

另见The Definitive Guide To PHP's isset And empty