首頁  >  文章  >  後端開發  >  php怎麼求一個陣列中大於0的元素個數

php怎麼求一個陣列中大於0的元素個數

青灯夜游
青灯夜游原創
2022-08-19 18:24:442791瀏覽

實作步驟:1、使用array_filter()函數呼叫回呼函數來過濾數組,傳回大於0的元素,語法「function f($num){return($num>0);}$res= array_filter($arr,"f");”,會傳回一個包含大於0元素的過濾數組;2、使用count()函數取得過濾數組的長度,也就是大於0元素的個數即可,語法“count (過濾數組)」。

php怎麼求一個陣列中大於0的元素個數

本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦

在php中,可以利用array_filter ()函數和count()函數來求一個陣列大於0的元素個數。

實作步驟:

#步驟1:使用array_filter()函數過濾數組,傳回數組中大於0的元素

array_filter() 函數用回呼函數過濾陣列中的元素,會傳回一個過濾後的陣列。    

此函數將輸入陣列中的每個鍵值傳給回呼函數。如果回呼函數傳回 true,則把輸入數組中的目前鍵值傳回給結果陣列。數組鍵名保持不變。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
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的数组后:";
var_dump($res);
?>

php怎麼求一個陣列中大於0的元素個數

過濾數組中不大於0的元素後,傳回的過濾數組中包含的元素都是大於0的。

步驟2:使用count()函數取得篩選數組的長度,即大於0的元素數量

count() 函數傳回數組中元素的數目。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
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的数组后:";
var_dump($res);

$len=count($res);
echo "数组中大于0的元素个数为:".$len;
?>

php怎麼求一個陣列中大於0的元素個數

說明:

#1、array_filter

array_filter — 使用回呼函數過濾陣列的元素

array_filter(array $array, ?callable $callback = null, int $mode = 0): array

參數:

 ◇array:要遍歷的陣列

# ◇callback:使用的回呼函數

如果沒有提供callback 回呼函數,將刪除數組中array 的所有「空」元素。有關 PHP 如何判定「空」元素,請參閱 empty() 。

 ◇mode決定哪些參數傳送到callback 回呼的標誌:

  • ARRAY_FILTER_USE_KEY - 將鍵名稱作為callback 回呼的唯一參數,而不是值

  • #ARRAY_FILTER_USE_BOTH - 將值和鍵都作為參數傳遞給callback 回調,而不是僅傳遞值

  • 預設值為0 ,只傳遞值作為callback 回調的唯一參數。

傳回值:傳回過濾後的陣列。

  • array_filter遍歷 array 陣列中的每個值,並將每個值傳遞給 callback 回呼函數。如果 callback 回呼函數傳回 true,則將 array 陣列中的目前值回傳至結果 array 陣列中。

  • 傳回結果 array 數組的鍵名(下標)會維持不變,如果 array 參數是索引數組,則傳回的結果 array 數組鍵名(下標)可能會不連續。可以使用 array_values() 函數重新索引陣列。

  • 當使用array_filter()函數來宣告回呼函數時,它會刪除false值(空值),但是,如果未指定回調函數,則將刪除數組中值等於FALSE的所有元素,例如空字串或NULL值。

2、count()

count() 函數可以統計出陣列裡所有元素的數量,或物件中的屬性個數,其語法格式如下:

count($array , $mode )

參數說明如下:

  • $array:為待統計的陣列或物件;
  • $mode:為可選參數,可以省略。
    • 如果省略$mode 參數,或設定為COUNT_NORMAL 或0,count() 函數將不偵測多維數組;
    • 如果$mode 設為COUNT_RECURSIVE 或1,count() 函數將遞歸計算數組中元素的個數,對於計算多維數組的元素個數特別有用。

提示:如果$array 既不是數組,也不是對象,count() 函數將返回1;如果$array 等於NULL,則count() 函數返回0。

sizeof() 函數是 count() 函數的別名,也就是所 sizeof() 函數的功能及使用方法與 count() 函數完全相同。

推薦學習:《PHP影片教學

以上是php怎麼求一個陣列中大於0的元素個數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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