不需要使用 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
)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)