您好,登錄后才能下訂單哦!
這篇文章主要講解了“php如何求一個數(shù)組中大于0的元素個數(shù)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“php如何求一個數(shù)組中大于0的元素個數(shù)”吧!
實(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ù)組,返回?cái)?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ù)組鍵名保持不變。
<?php header('content-type:text/html;charset=utf-8'); function f($num){ return($num>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ù)返回?cái)?shù)組中元素的數(shù)目。
<?php header('content-type:text/html;charset=utf-8'); function f($num){ return($num>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)計(jì)出數(shù)組里所有元素的數(shù)量,或?qū)ο笾械膶傩詡€數(shù),其語法格式如下:
count($array , $mode )
參數(shù)說明如下:
$array:為待統(tǒng)計(jì)的數(shù)組或?qū)ο螅?/p>
$mode:為可選參數(shù),可以省略。
如果省略 $mode 參數(shù),或者將其設(shè)置為 COUNT_NORMAL 或者 0,count() 函數(shù)將不檢測多維數(shù)組;
如果 $mode 設(shè)置為 COUNT_RECURSIVE 或者 1,count() 函數(shù)將遞歸計(jì)算數(shù)組中元素的個數(shù),對于計(jì)算多維數(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)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。