检查foreach循环中的数组是否为空

时间:2012-04-05 01:14:58

标签: php arrays multidimensional-array foreach

我正在尝试检查我的阵列是否为空,但奇怪的是我无法使其工作。

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循环的末尾删除数组,以便我不存储其他用户的朋友活动。

2 个答案:

答案 0 :(得分:3)

count()应该为您提供准确的数组编号:http://php.net/manual/en/function.count.php

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

答案 1 :(得分:0)

您可以尝试此解决方案:

if (sizeof($friendActivity) > 0) {