步骤:1、用array_values()将数组转为索引数组;2、定义了1个变量来存放最大值,语法“$m=$arr[0];”;3、利用for语句遍历数组,语法“for($i=0;$i<数组长度;$i++){...}”;4、循环体中,不断将“$m”与数组每个值进行比较,如果值大于“$m”就将该值赋值给“$m”即可,语法“if($arr[$i]>$m){$m=$arr[$i];}”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
在php中,可以通过在for循环中,不断将$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);
定义了下面一个数组,调用takeNum($array)函数来看看输出情况
$array = array(1=>"1","a"=>"5",2=>"3","b"=>0,"c"=>"4"); var_dump($array); takeNum($array);
推荐学习:《PHP视频教程》
以上是php怎么用for循环求数组最大值的详细内容。更多信息请关注PHP中文网其他相关文章!