【问题标题】:Checking if the array in foreach loop is empty or not检查 foreach 循环中的数组是否为空
【发布时间】:2012-04-05 01:14:57
【问题描述】:

我正在尝试检查我的数组是否为空,但奇怪的是我无法正常工作。

foreach ($friend as $key => $id){

    $friendActivity = $db->friendActivity($id);

    if (!empty($friendActivity)) {

        //rest of the code

    }

}

我在if语句之前使用了var_dump($friendActivity),结果如下:

array(0) { } array(0) { } array(0) { } array(0) { } array(0) { } array(0) { }  

//////--->需要知道的事情

我不想查看数组的数量。数据库中的每个用户都有一些活动。我想看看这些活动是否与(活动投票)相匹配。因此,如果用户提到了他们的活动,那么 $friendActivity 就不会为空。

如果我使用空:

if (empty($friendActivity)){

    //rest of the code

}

我能够进入 if 条件...

我个人认为,我必须在每个 foreach 循环结束时删除数组,这样我就不会存储其他用户的好友活动。

【问题讨论】:

  • 事件为空时,您是否进入了 if?顺便说一句:自 php 5.4 php.net/manual/en/function.empty.php 以来,empty() 显示的结果有一些变化
  • 是的,我已经重新编辑了问题。

标签: php arrays multidimensional-array foreach


【解决方案1】:

count() 应该给你一个准确的数组编号:http://php.net/manual/en/function.count.php

if (count($friendActivity) > 0) {
   ...
}

【讨论】:

  • 我已经重新编辑了问题,我不是要计算数组。
【解决方案2】:

你可以试试这个解决方案:

if (sizeof($friendActivity) > 0) {

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-27
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 2017-09-13
    • 2015-01-08
    相关资源
    最近更新 更多