(20分)用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:\ygbphp a.php
Array
(
[d] = 12
[e] = 12
)
PHP中如何使用foreach循环遍历数组求6、8、10、4、3中的最大值和最小值?
不需要使用
foreach
就能从数组
6、8、10、4、3
求出最大最小值,可以使用以下代码:
12345678?php $a = array(8,40,3,5,6,10);sort($a, SORT_NUMERIC);//最小值$min = reset($a);//最大值$max = end($a);
所需知识点:
数组排序函数
sort
数组游标
在一个php数组中,里面有(78.65.28.35等)求最大值和最小值,(不能用max等函数)
扫描一遍就可以获得最大值、最小值、平均值,扫描数组使用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}";
?
找出php数组中最大数、最小数和空值
可以循环一次数组进行判断:
foreach($arr as $k=$v){
if( $k== 0 ){
$min = $v;
$max = $v;
}else{
$min = min($min,$v);
$max = max($max,$v);
}
if($v == ''){
$kong = $k;
}
}
$max就是最大值;$min是最小值, $arr[$kong]就是空值
PHP数组,怎么找出最大值与最小值,和它们所对应的数组下标
?php
$hots?=?array('8213'=?0,'8212'=?100,'8172'=?10008);
$maxkey?=?array_search(max($hots),$hots);?
$minkey?=?array_search(min($hots),$hots);?
echo?"最大值数组所在下标:".$maxkey;
echo?"br";
echo?"最小值数组所在下标:".$minkey;
?
用php程序求数组{98,79,81,60,70}的最大最小值,要求不能调用函数,请问要怎么写?
$arr=array(98,79,81,60,70);
$max=$arr[0];
$min=$arr[0];
array_walk($arr,'arr_min');
array_walk($arr,'arr_max');
function arr_min($v,$k){
global $min;
if($min$v){
$min=$v;
}
}
function arr_max($v,$k){
global $max;
if($max$v){
$max=$v;
}
}
echo $max."Br/"; //输出最大值
echo $min."Br/"; //输出最小值