1. 程式人生 > >PHP中判斷一個數組是否為空?

PHP中判斷一個數組是否為空?

GOOGLE之後整理出以下辦法:
一、for迴圈
  最簡單也是最直接的方法,用for迴圈來遍歷陣列。對於已知維數的陣列可以判斷,但如果是未知的多維陣列,該怎麼辦?

二、implode();
  用implode()將陣列輸出為字串,判斷輸出的字串是否為空。初看上去似乎是個不錯的方法,可惜跟上一點一樣,對於二維以上陣列就不行了。舉個例子:

    $arr= array(array(),array(),array());
    $str = implode(',',$arr);

    if(empty($str)) echo "空";
    else echo "非空";

    很明顯$arr是個含有三個空陣列的二維陣列,應該也算是空的,可是輸出的確是非空。判斷失敗。

三、count();

    $arr= array("","","");
    echo count($arr);


四、in_array('', $arr));

    $arr= array("d","s","");
    echo in_array('', $arr);
    這個只能說明陣列中有空的元素,不能證明陣列是空的。很明顯也不行。


五、empty();
  這個cpyeh覺得跟前面幾種方法差不多

    $arr= array("","","");
    if(empty($arr)) echo "空";
    else echo "非空";

    結果還是非空


六、用strlen(),沒內容的話好象長度都為1
  

可以在以上例子上加一句print_r($arr);看看