【问题标题】:My array is not empty but empty() claims it is [closed]我的数组不是空的,但 empty() 声称它是 [关闭]
【发布时间】:2014-08-20 15:53:15
【问题描述】:

我已经 var 转储了我的数组:

array(4) { [0]=> string(72) "
1
" [1]=> string(57) "
2
" [2]=> string(63) "
›
" [3]=> string(63) "
»
" }

当我检查时:

empty($myArray);

它总是说真的。这是为什么呢?

【问题讨论】:

  • 您能多介绍一下上下文吗?例如,您的调试代码。
  • 然后使用 count() 检查数组是否为空
  • 你能把你用于创建数组的确切代码吗?

标签: php


【解决方案1】:

尝试使用

count($myArray) == 0

改为

【讨论】:

    【解决方案2】:
    • empty() 函数在 var 存在且具有非空、非零值时返回 FALSE。否则返回 TRUE。
    • 以下内容被认为是空的,返回值为真:
    • “”(空字符串)
    • 0(0为整数)
    • “0”(0作为字符串)
    • 错误
    • array()(一个空数组)

    【讨论】:

    • 在这种情况下有什么帮助?我们都看到数组不是空的。
    【解决方案3】:

    或者,您可以像这样使用 count() 函数进行检查:-

    if((count($myArray) < 1) || (count($myArray)) === 0){
        echo 'Array is empty';
    }else{
      echo 'There is Data in Array';
    }
    

    【讨论】:

    • 不正确。 $myArray 是可变的,不是吗?空函数也适用于数组:The following things are considered to be empty: array() (an empty array)
    • 我没说你不能用。但是空函数有时会起作用,但不能提供预期的结果。如果使用 count(),则使用更可靠的数组。我写的是php网站上的确切解释。如果你对它更了解。证明我错了。
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2011-08-12
    • 1970-01-01
    • 1970-01-01
    • 2020-08-07
    • 2022-01-20
    • 2021-07-16
    相关资源
    最近更新 更多