php怎麼去掉數組為空的元素

PHPz
發布: 2023-04-04 14:10:02
原創
634 人瀏覽過

PHP是一種流行的伺服器端程式語言,常用於Web開發和動態網站的建立。在PHP程式設計中,陣列是常見的資料型態。有時我們需要過濾掉數組中為空的元素,本篇文章將為您介紹如何去除數組為空的方法。

1.使用foreach循環遍歷數組

可以使用foreach循環遍歷數組,然後使用empty()函數判斷每個元素是否為空,如果為空則使用unset()函數移除該元素。程式碼如下:

$arr = array('php', '', 'java', '', 'python');
foreach($arr as $key=>$value){
    if(empty($value)){
        unset($arr[$key]);
    }
}
print_r($arr);
登入後複製

運行結果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
登入後複製
登入後複製
登入後複製

2.使用array_filter()函數

PHP提供了一個內建函數array_filter(),該函數可以過濾掉在數組中為空的元素。程式碼如下:

$arr = array('php', '', 'java', '', 'python');
$arr = array_filter($arr);
print_r($arr);
登入後複製

執行結果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
登入後複製
登入後複製
登入後複製

3.使用array_diff()函數

另外還可以使用array_diff()函數,該函數可以傳回兩個陣列之間的差集,我們可以將一個空數組和原數組進行差集運算,將差集結果傳回。程式碼如下:

$arr = array('php', '', 'java', '', 'python');
$arr = array_diff($arr, array(''));
print_r($arr);
登入後複製

執行結果:

Array
(
    [0] => php
    [2] => java
    [4] => python
)
登入後複製
登入後複製
登入後複製

4.使用array_reduce()函數

最後,我們可以使用array_reduce()函數,該函數從左到右迭代數組,將每個元素與先前的結果結合。我們可以在回呼函數中判斷元素是否為空,如為空則傳回先前的結果,否則將元素加入結果陣列中。程式碼如下:

$arr = array('php', '', 'java', '', 'python');
$arr = array_reduce($arr, function($result, $val){
    if(!empty($val)){
        $result[] = $val;
    }
    return $result;
}, array());
print_r($arr);
登入後複製

運行結果:

Array
(
    [0] => php
    [1] => java
    [2] => python
)
登入後複製

以上就是幾種去掉陣列為空的方法,可以根據自己的需求選擇適合自己的方法。

以上是php怎麼去掉數組為空的元素的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!