在 PHP 開發中,我們常常需要處理陣列。有時候,我們可能需要從數組中去除 0 值。在這種情況下,我們可以使用一些內建的 PHP 函數來去除 0 值。
PHP 中提供了多個函數可以移除陣列中的 0 值,如 array_filter、array_diff 和 array_unique,以下分別介紹這些函數的使用方法。
一、array_filter 函數:
PHP 中的array_filter 函數可以將陣列中的空值、false、0 和null 移除,其他值則保留不變,函數的使用方法如下:
$nums = [1, 0, '2', false, '', 3, null, 4]; $result = array_filter($nums); print_r($result);
陣列$nums 中包含多種類型的值,包括數字、字串、布林值和null,我們可以使用array_filter 函數對其進行處理,將所有空值、false、0 和null 值從數組中去除。上述程式碼中的結果將為:
Array ( [0] => 1 [2] => 2 [5] => 3 [7] => 4 )
二、array_diff 函數:
PHP 中的 array_diff 函數可以將一個陣列與另一個陣列進行比較,傳回差集。我們可以將一個僅包含0 的陣列與原始數組進行比較,傳回的結果就是移除了所有0 值的數組,函數的使用方法如下:
$nums = [1, 0, 2, 0, 3, 0, 4]; $zeros = [0]; $result = array_diff($nums, $zeros); print_r($result);
上述程式碼中,我們首先定義了一個包含多個元素的$nums 數組,其中包含多個0 值,然後定義了一個僅包含一個0 值的$zeros 數組,將$nums 數組與$zeros 數組進行比較,返回差集,最終得到了一個去除了所有0 值的陣列。上述程式碼的結果將為:
array ( 0 => 1, 2 => 2, 4 => 3, 6 => 4, )
三、array_unique 函數:
PHP 中的array_unique 函數可以將陣列中重複的元素移除,我們可以先將陣列中所有的0 值移除,然後再去除重複的元素。函數的使用方法如下:
$nums = [1, 0, 2, 0, 3, 0, 4, 3]; $result = array_unique(array_filter($nums, function($value) { return $value !== 0; })); print_r($result);
上述程式碼中,我們首先使用 array_filter 函數將陣列中的所有 0 值移除,然後使用 array_unique 函數將移除 0 值後的陣列中重複的元素移除。上述程式碼的結果將為:
array ( 0 => 1, 2 => 2, 4 => 3, 6 => 4, )
以上就是 PHP 中移除陣列中 0 值的三種方法,讀者可以依照實際需求選擇合適的方法來使用。
以上是php數組怎麼去除0值(三種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!