搜尋
首頁後端開發PHP問題php怎麼取得數組不為空的長度

在PHP中,陣列是一種非常常用的資料結構,在許多程式設計場景中我們經常需要使用到陣列。那麼在處理數組時,經常需要考慮到數組是否為空以及如何取得數組的長度。

PHP提供了許多函數來處理數組,例如判斷數組是否為空的函數empty(),判斷數組元素是否存在的函數isset(),取得數組長度的函數count()等等。本文將重點放在如何取得數組不為空的長度。

當我們使用count()函數來取得陣列長度時,如果陣列為空,將會傳回0。但是在某些場景中,需要取得數組不為空的長度,那該怎麼辦呢?

常見的方法是使用迴圈來遍歷數組,統計其中不為空的元素個數。具體實作方式如下所示:

function countNotNull($arr){
    if(!is_array($arr)) return 0;
    $count = 0;
    foreach($arr as $item){
        if(!empty($item)){
            $count++;
        }
    }
    return $count;
}

$arr = array(1, null, 3, "", 5, array());
echo countNotNull($arr); // output: 3

以上程式碼首先判斷陣列是否為空以及是否為陣列類型,防止傳入非法參數導致的錯誤。接著經過遍歷每一個元素,統計其中不為空的元素個數。最後傳回該值。

這種方法雖然比較簡單,但是在陣列元素比較多時,效率較低。另外,在多次使用該函數時,可能會帶來一些重複的工作。

一種更有效率的方案是使用array_filter()函數來過濾掉空元素,再使用count()函數來取得陣列的長度。具體實作方式如下所示:

function countNotNull2($arr){
    if(!is_array($arr)) return 0;
    $newArr = array_filter($arr);
    return count($newArr);
}

$arr = array(1, null, 3, "", 5, array());
echo countNotNull2($arr); // output: 3

以上程式碼先進行了參數的合法性判斷,然後使用array_filter()函數過濾掉空元素,並傳回一個新的陣列。再使用count()函數取得該新數組的長度,即為數組不為空的長度。

要注意的是,使用array_filter()函數過濾掉的是空元素(如0、「」、null、false等),而不是只過濾空字串。

總之,在PHP中,取得陣列不為空的長度確實有多種方法,以上介紹的只是常見的幾種。讀者可以根據實際需求來選擇適當的方法。

以上是php怎麼取得數組不為空的長度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具