2012-04-05 28 views
1

我想檢查我的數組是否爲空,但奇怪的是我無法讓它工作。檢查在foreach循環中的數組是否爲空

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

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

    if (!empty($friendActivity)) { 

     //rest of the code 

    } 

} 

我已經使用的var_dump($ friendActivity)if語句和結果如下:

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

////// --->的東西知道< -------- /////////

我不想看數組的數量。數據庫中的每個用戶都有一些活動。我想看看這些活動是否與(活動投票)相匹配。所以如果用戶提到他們的活動,那麼$ friendActivity不會是空的。

如果我使用空:

if (empty($friendActivity)){ 

    //rest of the code 

} 

我能拿到如果條件裏面...

我個人認爲,我必須在每foreach循環的最後刪除的磁盤陣列,這樣我就不會存儲其他用戶的朋友活動。

+0

事件時,其空你的,如果裏面的故事嗎?順便說一句:結果有一些變化empty()顯示,因爲PHP 5.4 http://php.net/manual/en/function.empty.php – dimirc 2012-04-05 01:22:57

+0

是的,我已經重新編輯的問題。 – 2012-04-05 01:52:10

回答

3

count()應該給你一個準確的排列編號:http://php.net/manual/en/function.count.php

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

'empty'應該也可以。我認爲還有另外一個問題... – binarious 2012-04-05 01:22:35

+0

我已經重新編輯了這個問題,我不是想要數組數。 – 2012-04-05 01:51:19

0

你可以試試這個解決方案:

if (sizeof($friendActivity) > 0) {