首頁  >  文章  >  後端開發  >  php怎麼去掉陣列的null值(三種方法)

php怎麼去掉陣列的null值(三種方法)

PHPz
PHPz原創
2023-04-12 14:44:332037瀏覽

在使用 PHP 語言進行陣列操作的過程中,有時候我們需要對陣列進行去掉 null 值的操作。因為 null 值會對某些陣列操作產生影響,而有些情況下我們又不希望 null 值對陣列操作造成負面影響,所以去掉 null 值就變得非常必要了。那麼接下來,我們就來看看如何在 PHP 中去掉陣列中的 null 值。

一、使用 array_filter() 函數

要從陣列中過濾掉 null 值,首先想到的肯定就是使用 PHP 的 array_filter() 函數。此函數將會傳回一個新的數組,該數組不包含在處理原始數組時回調函數傳回 false 的元素。在這裡,我們可以使用 PHP 內建的 is_null() 函數來做判斷,將值為 null 的元素篩選掉。

具體的實作方式如下:

$arr = array('aa', 0, null, '', false, true, null, 'bb');
$filteredArray = array_filter($arr, function($item) {
    return !is_null($item);
});

這樣操作後,$filteredArray 中就只包含非 null 值了。

二、使用 foreach 迴圈移除 null 值

另外,我們也可以使用 foreach 迴圈對陣列進行遍歷,將其中的 null 值移除。

可實現程式碼如下:

foreach ($arr as $key => $value) {
    if(is_null($value)){
        unset($arr[$key]);
    }
}

這樣便可以將原數組中的 null 值移除掉。當然,使用unset() 函數會導致陣列的鍵被重排,如果你希望鍵不被重排,也可以使用以下程式碼:

foreach ($arr as $key => $value) {
    if(is_null($value)){
        array_splice($arr, $key, 1);
    }
}

三、使用array_diff() 函數

############################################################################################################### #另一個比較簡單的方法,是使用array_diff() 函數,將原始數組和一個只有null 值的數組作差集,從而去除null 值。 ######可實現程式碼如下:###
$arr = array('aa', 0, null, '', false, true, null, 'bb');
$filteredArray = array_diff($arr, array(null));
###這樣操作後,$filteredArray 中就只包含非 null 值了。 ######總結######在實際開發中,需要根據情況靈活選擇適合自己的方法。使用 array_filter() 函數可以在一行程式碼內解決問題,但是如果陣列元素太多的話,會消耗一定的效能。從效能考慮的角度考慮,使用 foreach 迴圈或 array_diff() 函數的方法比較適合。 ###

以上是php怎麼去掉陣列的null值(三種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn