PHP是一種流行的開源程式語言,被廣泛應用於Web開發中。在PHP開發中,我們常常需要處理數組的各種操作。當我們操作數組時,有時會遇到一些問題,例如如何去除空數組。
在PHP中,如何判斷一個陣列是空的呢?我們可以使用empty()函數或count()函數來判斷一個陣列是否為空。 empty()函數可以判斷數組是否為空或是否沒有元素,如果是空數組則回傳true,否則回傳false。而count()函數則可以統計數組的元素個數,如果元素個數為0,則表示該數組為空。
那麼如何去掉空數組呢?在處理數組時,我們可以使用各種方法,例如使用循環遍歷數組,對數組進行過濾等等。下面我們來介紹幾種去掉空數組的方法。
方法一、使用array_filter()函數
array_filter()函數是PHP提供的用於過濾數組的函數,可以刪除數組中不滿足指定條件的元素。我們可以透過使用array_filter()函數來去掉空數組。程式碼如下:
$array = array('', 'a', 'b', 0, NULL, 'c', array()); $array = array_filter($array,'strlen'); print_r($array);
上述程式碼中,我們先定義一個包含空數組的陣列。然後透過使用array_filter()函數,傳遞了一個回呼函數strlen,該函數可以統計字串的長度。在這個例子中,我們使用strlen函數作為回調函數,可以刪除空字串和空數組,最終得到一個不包含空數組的數組。
方法二、使用foreach循環遍歷數組
我們也可以使用foreach循環遍歷數組來去掉空數組。程式碼如下:
$array = array('', 'a', 'b', 0, NULL, 'c', array()); foreach ($array as $key => $value) { if (empty($value)) { unset($array[$key]); } } print_r($array);
上述程式碼中,我們使用foreach循環遍歷數組,如果元素為空,就使用unset()函數來刪除該元素。最後得到一個不包含空數組的數組。
方法三、使用array_values()函數
array_values()函數可以將陣列中的所有值以新的陣列傳回。可以將函數應用到方法一和方法二中去掉空數組之後的數組中,最終會傳回一個新的數組。程式碼如下:
$array = array('', 'a', 'b', 0, NULL, 'c', array()); $array = array_values(array_filter($array,'strlen')); print_r($array);
或
$array = array_values($array); foreach ($array as $key => $value) { if (empty($value)) { unset($array[$key]); } } $array = array_values($array); print_r($array);
上述程式碼中,我們使用array_values()函數將過濾後的陣列中所有元素重新排列,並傳回一個新的陣列。
總結
上述介紹如何使用PHP去掉空數組的方法,包括使用array_filter()函數、foreach循環遍歷數組以及使用array_values()函數。但是在實際應用中,我們也需要根據具體情況選擇適合的方法。
以上是php 怎麼去掉為空數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!