溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

php如何求一個數(shù)組中大于0的元素個數(shù)

發(fā)布時間:2022-08-25 15:34:33 來源:億速云 閱讀:272 作者:iii 欄目:編程語言

這篇文章主要講解了“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ù)組)”。

php如何求一個數(shù)組中大于0的元素個數(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);
?>

php如何求一個數(shù)組中大于0的元素個數(shù)

過濾數(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;
?>

php如何求一個數(shù)組中大于0的元素個數(shù)

說明:

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)注!

向AI問一下細(xì)節(jié)

免責(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)容。

php
AI