步驟:1、用array_values()將陣列轉換成索引陣列;2、定義了1個變數來存放最大值,語法「$m=$arr[0];」;3、利用for語句遍歷數組,語法「for($i=0;$i$m){$m=$arr[$i];}」。
本教學操作環境:windows7系統、PHP8.1版、DELL G3電腦
在php中,可以透過在在循環中,不斷將$max與數組每個值($arr[$i])比較;如果大於$max就將該元素賦值給$max即可。
實作步驟:
步驟1:使用array_values()函數將陣列轉為索引陣列
#array_values()函數的作用是傳回數組中所有元素的值,使用起來非常簡單,只有一個必選參數$array,就可以傳回一個包含給定數組中所有值的數組,但不保留鍵名。被傳回的陣列將使用索引數組的形式,數組的索引從 0 開始且以 1 遞增。
array_values($array)
步驟2:定義了1個變數$max來存放最大值
$max = $arr[0];
步驟3:利用for語句遍歷陣列
#for ($i = 0;$i< 数组长度;$i++){//循环数组 //循环体语句块; }
步驟4:在循環體中,不斷將$max與數組每個值($arr[$i])比較,如果大於$max就將該元素賦值給$max
如果$arr[$i]比$max大,則將$max值賦給$secMax,把$arr[$i]賦給$max,
if ($arr[$i] > $max){ $max = $arr[$i]; }
這樣不斷比較下去,就可以確保$max存放著數組最大值即可
實作範例程式碼:
<?php header('content-type:text/html;charset=utf-8'); function takeNum($array){ $arr=array_values($array); //定义了1个变量$max来存放最大值 $max = $arr[0]; for ($i = 0;$i< count($arr);$i++){//循环数组 if ($arr[$i] > $max) { $max = $arr[$i]; } } echo "最大值为".$max; } $array = array(1=>"1","a"=>"5",2=>"3","b"=>0,"c"=>"4"); var_dump($array); takeNum($array); ?>
測試一下:
定義了下面一個數組,呼叫takeNum($array)函數來看看輸出狀況
$array = array(0,5,1,429,18,21,52,2,52,9,3,"5"); var_dump($array); takeNum($array);
$array = array(1=>"1","a"=>"5",2=>"3","b"=>0,"c"=>"4"); var_dump($array); takeNum($array);
PHP影片教學》
以上是php怎麼用for迴圈求數組最大值的詳細內容。更多資訊請關注PHP中文網其他相關文章!