php怎麼求陣列中最小的元素值和下標

2022-09-26 22:00:28

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

php入門到就業線上直播課:進入學習
API 檔案、設計、偵錯、自動化測試一體化共同作業工具:

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

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

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

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

下面就來給大傢俱體介紹一下實現步驟。

步驟1:獲取陣列的最小值

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>";
?>

1.png

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

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

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

$index=array_search($min,$arr);
echo "最小值的下標為:".$index;

2.png

將功能封裝為一個函數:

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);

3.png


函數說明:

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)
引數描述
value必需。規定在陣列中搜尋的鍵值。
array必需。規定被搜尋的陣列。
strict可選。如果該引數被設定為 TRUE,則函數在陣列中搜尋資料型別和值都一致的元素。可能的值:
  • true
  • false - 預設
如果設定為 true,則在陣列中檢查給定值的型別,數位 5 和字串 5 是不同的(參見範例 2)。

返回值:如果在陣列中找到指定的鍵值,則返回對應的鍵名,否則返回 FALSE。如果在陣列中找到鍵值超過一次,則返回第一次找到的鍵值所匹配的鍵名。

推薦學習:《》、《》

以上就是php怎麼求陣列中最小的元素值和下標的詳細內容,更多請關注TW511.COM其它相關文章!