【问题标题】:Is there any difference between {strlen($var) == 0} and {empty($var)}{strlen($var) == 0} 和 {empty($var)} 之间有什么区别吗
【发布时间】:2009-08-23 11:33:34
【问题描述】:

考虑到该变量只能是从 HTML 表单中获取的字符串(输入文本、文本区域)。

【问题讨论】:

    标签: php post forms


    【解决方案1】:

    是的,strlen($str)==0empty($str) 之间是有区别的。如果值为"0"empty 返回 true。请参阅PHP type comparison tables

    【讨论】:

      【解决方案2】:
      $var = 0;
      
      strlen( $var ); // 1, coerced to true
      
      empty($var) // true, it's considered "empty", these are the empty ones:
      
      • “”(空字符串)
      • 0(0为整数)
      • “0”(0作为字符串)
      • 错误
      • array()(一个空数组)
      • 变量 $var; (声明的变量,但在类中没有值)

      【讨论】:

        【解决方案3】:

        这是我发现的一些注释:
        empty(),需要一个变量并且只有一个变量,所以我认为它有问题处理从魔术 __get() 方法获取的对象值。

        【讨论】:

        猜你喜欢
        • 2011-10-27
        • 2023-03-27
        • 2019-09-21
        • 2018-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-28
        • 1970-01-01
        相关资源
        最近更新 更多