首頁 > 後端開發 > PHP問題 > php 陣列怎麼刪除0值

php 陣列怎麼刪除0值

PHPz
發布: 2023-04-19 14:08:48
原創
810 人瀏覽過

在 PHP 中,陣列是一種非常常用的資料類型,可以儲存多個值,並透過索引來存取這些值。有時候我們需要從陣列中刪除特定的值,這篇文章將探討如何刪除陣列中的 0 值。

首先,讓我們建立一個包含 0 值的陣列來作為範例:

$arr = array(1, 2, 3, 0, 4, 0, 5);
登入後複製

接下來,我們需要在 PHP 中找到刪除 0 值的有效方法。有兩種方法可以實現這個操作:使用 array_filter() 函數和迴圈遍歷陣列。

方法一:使用array_filter() 函數

array_filter() 函數用來過濾掉數組中不符合條件的元素,可以傳遞一個回呼函數或使用預設行為,這裡我們將使用回呼函數來過濾0 值。

$new_arr = array_filter($arr, function ($value) {
    return $value !== 0;
});
登入後複製

這個函數會傳回一個新的陣列 $new_arr,其中不包含值為 0 的元素。

方法二:迴圈遍歷陣列

我們也可以使用迴圈遍歷陣列來刪除值為 0 的元素,這裡我們使用 foreach() 函數來實作。對於查詢到值為 0 的元素,我們可以透過 unset() 函數將其從陣列中刪除。

foreach ($arr as $key => $value) {
    if ($value === 0) {
        unset($arr[$key]);
    }
}
登入後複製

這個方法會修改原始陣列 $arr,並將其中的 0 值刪除。

接下來,我們可以使用print_r() 函數輸出兩種方法的結果,來驗證它們是否有效:

// 使用 array_filter() 函数过滤 0 值
print_r($new_arr);

// 使用 foreach() 函数循环遍历数组删除 0 值
print_r($arr);
登入後複製

運行上面的程式碼,會得到如下輸出:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [6] => 5
)
Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [4] => 4
    [6] => 5
)
登入後複製

結果表明,兩種方法都能夠成功刪除陣列中的0 值。

總結

在 PHP 中,我們可以透過 array_filter() 函數或使用循環遍歷陣列的方式來刪除陣列中的 0 值。具體選擇哪種方法可以根據使用場景和個人習慣來決定。不過,使用 array_filter() 函數可以更簡單地完成這個操作,而且程式碼更具可讀性。

以上是php 陣列怎麼刪除0值的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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