實作步驟:1、利用min()函數取得陣列中最小的元素值,語法「$min=min($arr);」;2、使用array_search()函數在陣列中搜尋所取得的最小值,會傳回對應的下標值,語法「array_search($min,$arr)」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
分析:php求陣列中最小的元素值和下標可以分成兩個步驟
取得陣列的最小的元素值(最小值)
根據最小數值來求該值在陣列的對應下標(鍵名)
下面就來給大家具體介紹一下實現步驟。
步驟1:取得數組的最小值
PHP取得數組最值有多種方法,例如排序(升序或降序),這樣開頭或結尾的元素就是最值。 【相關建議:php怎麼求數組當中的最小值】
但因為還要取得其下標,那麼排序就不一定可選(可能會破壞其原有順序) 。
那我們就直接利用內建函數--min()好了。
<?php header('content-type:text/html;charset=utf-8'); $arr=array(1,45,9,0,-5,52,21,-1,40); var_dump($arr); $min=min($arr); echo "数组最小值为: ".$min."<br>"; ?>
步驟2:根據最小值來求該值在陣列的下標(鍵名)
PHP提供了一個內建函數--array_search()
該函數可以在陣列中搜尋給定的值,如果成功則傳回對應的鍵名(下標)。
$index=array_search($min,$arr); echo "最小值的下标为:".$index;
將功能封裝為函數:
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);
函數說明:
1、min()函數
min() 函數傳回一個陣列中的最小值,或幾個指定值中的最小值。
min(array_values); or min(value1,value2,...);
參數 | 描述 |
---|---|
#array_values | ##必需。規定一個包含值的陣列。|
value1,value2,... | #必要。規定要比較的值(至少兩個值)。
2、array_search()函數
array_search() 函數在陣列中搜尋某個鍵值,並傳回對應的鍵名。array_search(value,array,strict)
描述 | |
---|---|
value | 必要。規定在數組中搜尋的鍵值。|
array | 必要。規定被搜尋的陣列。|
strict | 可選。如果該參數被設定為 TRUE,則函數在陣列中搜尋資料類型和值都一致的元素。可能的值:
|
以上是php怎麼求數組中最小的元素值與下標的詳細內容。更多資訊請關注PHP中文網其他相關文章!