這篇文章主要講解了“php如何求一個數(shù)組中大于0的元素個數(shù)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php如何求一個數(shù)組中大于0的元素個數(shù)”吧!
十年專注建站、設(shè)計、互聯(lián)網(wǎng)產(chǎn)品定制制作服務(wù),業(yè)務(wù)涵蓋成都品牌網(wǎng)站建設(shè)、商城開發(fā)、成都微信小程序、軟件系統(tǒng)開發(fā)、成都app軟件開發(fā)公司等。憑借多年豐富的經(jīng)驗(yàn),我們會仔細(xì)了解每個客戶的需求而做出多方面的分析、設(shè)計、整合,為客戶設(shè)計出具風(fēng)格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯(lián)公司更提供一系列網(wǎng)站制作和網(wǎng)站推廣的服務(wù),以推動各中小企業(yè)全面信息數(shù)字化,并利用創(chuàng)新技術(shù)幫助各行業(yè)提升企業(yè)形象和運(yùn)營效率。
實(shí)現(xiàn)步驟:1、使用array_filter()函數(shù)調(diào)用回調(diào)函數(shù)來過濾數(shù)組,返回大于0的元素,語法“function f($num){return($num>0);}$res=array_filter($arr,"f");”,會返回一個包含大于0元素的過濾數(shù)組;2、使用count()函數(shù)獲取過濾數(shù)組的長度,也就是大于0元素的個數(shù)即可,語法“count(過濾數(shù)組)”。
本教程操作環(huán)境:windows7系統(tǒng)、PHP8.1版、DELL G3電腦
在php中,可以利用array_filter()函數(shù)和count()函數(shù)來求一個數(shù)組大于0的元素個數(shù)。
實(shí)現(xiàn)步驟:
步驟1:使用array_filter()函數(shù)過濾數(shù)組,返回數(shù)組中大于0的元素
array_filter() 函數(shù)用回調(diào)函數(shù)過濾數(shù)組中的元素,會返回一個過濾后的數(shù)組。
該函數(shù)把輸入數(shù)組中的每個鍵值傳給回調(diào)函數(shù)。如果回調(diào)函數(shù)返回 true,則把輸入數(shù)組中的當(dāng)前鍵值返回給結(jié)果數(shù)組。數(shù)組鍵名保持不變。
0); } $arr=array(2,-1,4,-8,-10,-5,9); var_dump($arr); $res=array_filter($arr,"f"); echo "過濾不大于0的數(shù)組后:"; var_dump($res); ?>
過濾數(shù)組中不大于0的元素后,返回的過濾數(shù)組中包含的元素都是大于0的。
步驟2:使用count()函數(shù)獲取過濾數(shù)組的長度,即大于0的元素個數(shù)
count() 函數(shù)返回數(shù)組中元素的數(shù)目。
0); } $arr=array(2,-1,4,-8,-10,-5,9); var_dump($arr); $res=array_filter($arr,"f"); echo "過濾不大于0的數(shù)組后:"; var_dump($res); $len=count($res); echo "數(shù)組中大于0的元素個數(shù)為:".$len; ?>
說明:
1、array_filter
array_filter — 使用回調(diào)函數(shù)過濾數(shù)組的元素
array_filter(array $array, ?callable $callback = null, int $mode = 0): array
參數(shù):
◇array:要遍歷的數(shù)組
◇callback:使用的回調(diào)函數(shù)
如果沒有提供 callback 回調(diào)函數(shù),將刪除數(shù)組中 array 的所有“空”元素。 有關(guān) PHP 如何判定“空”元素,請參閱 empty() 。
◇mode決定哪些參數(shù)發(fā)送到 callback 回調(diào)的標(biāo)志:
ARRAY_FILTER_USE_KEY - 將鍵名作為 callback 回調(diào)的唯一參數(shù),而不是值
ARRAY_FILTER_USE_BOTH - 將值和鍵都作為參數(shù)傳遞給 callback 回調(diào),而不是僅傳遞值
默認(rèn)值為 0 ,只傳遞值作為 callback 回調(diào)的唯一參數(shù)。
返回值:返回過濾后的數(shù)組。
array_filter遍歷 array 數(shù)組中的每個值,并將每個值傳遞給 callback 回調(diào)函數(shù)。 如果 callback 回調(diào)函數(shù)返回 true,則將 array 數(shù)組中的當(dāng)前值返回到結(jié)果 array 數(shù)組中。
返回結(jié)果 array 數(shù)組的鍵名(下標(biāo))會維持不變,如果 array 參數(shù)是索引數(shù)組,返回的結(jié)果 array 數(shù)組鍵名(下標(biāo))可能會不連續(xù)。 可以使用 array_values() 函數(shù)對數(shù)組重新索引。
當(dāng)使用array_filter()函數(shù)來聲明回調(diào)函數(shù)時,它會刪除false值(空值),但是,如果未指定回調(diào)函數(shù),則將刪除數(shù)組中值等于FALSE的所有元素,例如空字符串或NULL值。
2、count()
count() 函數(shù)可以統(tǒng)計出數(shù)組里所有元素的數(shù)量,或?qū)ο笾械膶傩詡€數(shù),其語法格式如下:
count($array , $mode )
參數(shù)說明如下:
$array:為待統(tǒng)計的數(shù)組或?qū)ο螅?/p>
$mode:為可選參數(shù),可以省略。
如果省略 $mode 參數(shù),或者將其設(shè)置為 COUNT_NORMAL 或者 0,count() 函數(shù)將不檢測多維數(shù)組;
如果 $mode 設(shè)置為 COUNT_RECURSIVE 或者 1,count() 函數(shù)將遞歸計算數(shù)組中元素的個數(shù),對于計算多維數(shù)組的元素個數(shù)尤為有用。
提示:如果 $array 既不是數(shù)組,也不是對象,count() 函數(shù)將返回 1;如果 $array 等于 NULL,則 count() 函數(shù)返回 0。
sizeof() 函數(shù)是 count() 函數(shù)的別名,也就是所 sizeof() 函數(shù)的功能及使用方法與 count() 函數(shù)完全相同。
感謝各位的閱讀,以上就是“php如何求一個數(shù)組中大于0的元素個數(shù)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對php如何求一個數(shù)組中大于0的元素個數(shù)這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!