首頁 > 後端開發 > PHP問題 > php怎麼求數組中最小的元素值與下標

php怎麼求數組中最小的元素值與下標

青灯夜游
發布: 2023-03-16 21:40:02
原創
3276 人瀏覽過

實作步驟:1、利用min()函數取得陣列中最小的元素值,語法「$min=min($arr);」;2、使用array_search()函數在陣列中搜尋所取得的最小值,會傳回對應的下標值,語法「array_search($min,$arr)」。

php怎麼求數組中最小的元素值與下標

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

分析:php求陣列中最小的元素值和下標可以分成兩個步驟

  • 取得陣列的最小的元素值(最小值)

  • 根據最小數值來求該值在陣列的對應下標(鍵名)

下面就來給大家具體介紹一下實現步驟。

步驟1:取得數組的最小值

PHP取得數組最值有多種方法,例如排序(升序或降序),這樣開頭或結尾的元素就是最值。 【相關建議:php怎麼求數組當中的最小值

但因為還要取得其下標,那麼排序就不一定可選(可能會破壞其原有順序) 。

那我們就直接利用內建函數--min()好了。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$arr=array(1,45,9,0,-5,52,21,-1,40);
var_dump($arr);
$min=min($arr);
echo "数组最小值为: ".$min."<br>";
?>
登入後複製

php怎麼求數組中最小的元素值與下標

步驟2:根據最小值來求該值在陣列的下標(鍵名)

PHP提供了一個內建函數--array_search()

該函數可以在陣列中搜尋給定的值,如果成功則傳回對應的鍵名(下標)。

$index=array_search($min,$arr);
echo "最小值的下标为:".$index;
登入後複製

php怎麼求數組中最小的元素值與下標

將功能封裝為函數:

function f($arr){
	$min=min($arr);
	echo "数组最小值为: ".$min."<br>";
	$index=array_search($min,$arr);
	echo "最小值的下标为:".$index;
}
登入後複製

呼叫f($arr)即可:

$arr=array(1,2,3);
var_dump($arr);
f($arr);

$arr=array(1,0,1);
var_dump($arr);
f($arr);
登入後複製

php怎麼求數組中最小的元素值與下標


函數說明:

1、min()函數

min() 函數傳回一個陣列中的最小值,或幾個指定值中的最小值。

min(array_values);

or

min(value1,value2,...);
登入後複製
##必需。規定一個包含值的陣列。 #必要。規定要比較的值(至少兩個值)。
參數描述
#array_values
value1,value2,...
傳回值:數值最小值。    

附註:想要求最大值,則可使用max() 函數。

2、array_search()函數

array_search() 函數在陣列中搜尋某個鍵值,並傳回對應的鍵名。

array_search(value,array,strict)
登入後複製
參數描述必要。規定在數組中搜尋的鍵值。 必要。規定被搜尋的陣列。 可選。如果該參數被設定為 TRUE,則函數在陣列中搜尋資料類型和值都一致的元素。可能的值:
value
array
strict
    true
  • false - 預設
  • # 如果設定為 true,則在陣列中檢查給定值的類型,數字 5 和字串 5 是不同的(請參閱實例 2)。
傳回值:如果在陣列中找到指定的鍵值,則傳回對應的鍵名,否則傳回 FALSE。如果在陣列中找到鍵值超過一次,則傳回第一次找到的鍵值所符合的鍵名。    

推薦學習:《

PHP影片教學》、《PHP ARRAY

以上是php怎麼求數組中最小的元素值與下標的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板