首頁 > 後端開發 > PHP問題 > php數組怎麼去除0值(三種方法)

php數組怎麼去除0值(三種方法)

PHPz
發布: 2023-04-04 17:12:01
原創
2388 人瀏覽過

在 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板