PHP中如何使用foreach循环遍历数组求6、8、10、4、3中的最大值和最小值?

PHP中如何使用foreach循环遍历数组求6、8、10、4、3中的最大值和最小值?,第1张

不需要使用 foreach 就能从数组 6、8、10、4、3 求出最大最小值,可以使用以下代码:

<php
$a = array(8,40,3,5,6,10);
sort($a, SORT_NUMERIC);
//最小值
$min = reset($a);
//最大值
$max = end($a);

所需知识点:

数组排序函数 sort

数组游标

我个人认为一般人家出这样的题不是考你PHP的函数,而是让你自定义一个函数去实现它!如下
function test($a,$b,$c){
return $a > $b ($a > $c $a : $c) : ($b > $c $b :$c);
}
这里要注意的是函数名不能用max,因为max是php系统函数这样会发生冲突!

扫描一遍就可以获得最大值、最小值、平均值,扫描数组使用foreach,下面是例子代码:

<php
    $arr = array(78, 65, 28, 35);
    $max=$arr[0];
    $min=$arr[0];
    $sum=0;
    $num=0;
    foreach ($arr as $x){
        if ($x>$max) $max=$x;
        if ($x<$min) $min=$x;
        $sum+=$x;
        $num++;
    }
    $avg=$sum/$num;
    echo "最大值{$max},最小值{$min},平均值{$avg}";
>

select case
when amaxnum > 另一个值 then amaxnum+1
when amaxnum < 另一个值 then 另一个值
end
from ( select max(字段) as maxnum from table) a
只能在php中查出来

其实我很想不通什么时候有这种需求,是不是你们老师布置这些作业很无聊~
程序如下:
<php
//数组赋值
$array = array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
//搜索最大元素
foreach ($array as $key=>$val) if (empty($maxval) || $val>$maxval) $maxval=$val;
//构造新的数组
foreach ($array as $key=>$val) if ($val==$maxval) $max_arr[$key]=$val;
//输出新的数组
print_r($max_arr);
>
输出结果为:
E:\ygb>php aphp
Array
(
[d] => 12
[e] => 12
)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/yw/13406002.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-30
下一篇 2023-07-30

发表评论

登录后才能评论

评论列表(0条)

保存