在PHP中,有時候我們需要移除數組中的空值,以便我們更好地處理資料。本文將探討使用不同方法去除陣列中的空值。
方法一:使用array_filter函數
array_filter()函數是PHP內建的用來過濾數組元素的函數,當傳回調函數時,函數傳回只包含回調函數傳回值不為FALSE(即不為null、0、「 」、「0」、false、array())的新陣列。我們可以使用該函數來去除數組中的空值,範例程式碼如下:
$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array()); $arr = array_filter($arr); //过滤 print_r($arr); //只剩下 'foo'、'bar'
結果如下:
Array ( [0] => foo [5] => bar )
方法二:使用foreach循環遍歷數組
我們也可以使用foreach循環遍歷數組,手動去除其中的空值,範例程式碼如下:
$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array()); foreach ($arr as $key => $value) { if (empty($value)) { unset($arr[$key]); //去除数组中的空值 } } print_r($arr); //只剩下 'foo'、'bar'
結果同樣為:
Array ( [0] => foo [5] => bar )
方法三:使用array_diff函數
我們還可以使用array_diff()函數,該函數用於傳回一個數組,該數組包含了所有在第一個參數數組中但不在其餘參數數組中的值。也就是說,我們可以將空值放到第二個參數中去,範例程式碼如下:
$arr = array('foo', 0, '', null, false, 'bar', ' ', '0', array()); $arr = array_diff($arr, array('')); //去除数组中的空值 print_r($arr); //只剩下 'foo'、'bar'
結果同樣為:
Array ( [0] => foo [5] => bar )
綜上所述,我們有多種方法可以移除PHP數組中的空值,其中使用array_filter()函數最為方便。但是,如果你需要手動處理數組中的每一個元素,那麼使用foreach循環可能會更好一些。
以上是php怎麼去除數組的空值的詳細內容。更多資訊請關注PHP中文網其他相關文章!