(20分)用PHP如何取出数组中值最大的一组元素?
不是用什么max之类的函数取,我想取得数组中,值最大的一组元素!比如说:$array=('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=...
不是用什么max之类的函数取,我想取得数组中,值最大的一组元素!比如说:
$array = ('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
这个数组中d和e都为最大的,如果返回一个包含这两个元素的数组?
打错了,是:$array = array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3); 展开
$array = ('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
这个数组中d和e都为最大的,如果返回一个包含这两个元素的数组?
打错了,是:$array = array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3); 展开
5个回答
展开全部
其实我很想不通什么时候有这种需求,是不是你们老师布置这些作业很无聊~
程序如下:
<?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 a.php
Array
(
[d] => 12
[e] => 12
)
程序如下:
<?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 a.php
Array
(
[d] => 12
[e] => 12
)
展开全部
最土的方法就是把数组元素比大小,一个一个遍历,这样会导致效率低。具体方法用两个for()嵌套循环。
还有一种简单的方法:你可以先用rsort();先对其进行降序排序,在取出第一个元素;
$array =array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
rsort($array);
echo $array[0];//最大的元素;
所谓的最大 不一定是数字最大要看你数组存的是什么类型的如果是数字那就是数字的最大值,如果是其他字符那就是其asicll码的最大值。
还有一种简单的方法:你可以先用rsort();先对其进行降序排序,在取出第一个元素;
$array =array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
rsort($array);
echo $array[0];//最大的元素;
所谓的最大 不一定是数字最大要看你数组存的是什么类型的如果是数字那就是数字的最大值,如果是其他字符那就是其asicll码的最大值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先说一下思路
1. 用PHP函数排序
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
案例:
<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
$arrlength=count($numbers);
for($x=0;$x<$arrlength;$x++)
{
echo $numbers[$x];
echo "<br>";
}
?>
2. 自己编写函数取出数组中的两个数值比较,取大的跟后一个数值比较,直到结束
1. 用PHP函数排序
sort() - 以升序对数组排序
rsort() - 以降序对数组排序
asort() - 根据值,以升序对关联数组进行排序
ksort() - 根据键,以升序对关联数组进行排序
arsort() - 根据值,以降序对关联数组进行排序
krsort() - 根据键,以降序对关联数组进行排序
案例:
<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
$arrlength=count($numbers);
for($x=0;$x<$arrlength;$x++)
{
echo $numbers[$x];
echo "<br>";
}
?>
2. 自己编写函数取出数组中的两个数值比较,取大的跟后一个数值比较,直到结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<?php
$array = array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
$tmp_arr = $array;
rsort($tmp_arr);//排序
foreach ($array as $k => $v) {
if ($v === $tmp_arr[0])$res[$k] = $v;
}
print_r($res);
?>
rsort()算不算max之类的函数?
$array = array('a'=>2,'b'=>1,'c'=>5,'d'=>12,'e'=>12,'f'=>3);
$tmp_arr = $array;
rsort($tmp_arr);//排序
foreach ($array as $k => $v) {
if ($v === $tmp_arr[0])$res[$k] = $v;
}
print_r($res);
?>
rsort()算不算max之类的函数?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先说一下思路
1.
用PHP函数排序
sort()
-
以升序对数组排序
rsort()
-
以降序对数组排序
asort()
-
根据值,以升序对关联数组进行排序
ksort()
-
根据键,以升序对关联数组进行排序
arsort()
-
根据值,以降序对关联数组进行排序
krsort()
-
根据键,以降序对关联数组进行排序
案例:
<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
$arrlength=count($numbers);
for($x=0;$x<$arrlength;$x++)
{
echo
$numbers[$x];
echo
"<br>";
}
?>
2.
自己编写函数取出数组中的两个数值比较,取大的跟后一个数值比较,直到结束
1.
用PHP函数排序
sort()
-
以升序对数组排序
rsort()
-
以降序对数组排序
asort()
-
根据值,以升序对关联数组进行排序
ksort()
-
根据键,以升序对关联数组进行排序
arsort()
-
根据值,以降序对关联数组进行排序
krsort()
-
根据键,以降序对关联数组进行排序
案例:
<?php
$numbers=array(3,5,1,22,11);
sort($numbers);
$arrlength=count($numbers);
for($x=0;$x<$arrlength;$x++)
{
echo
$numbers[$x];
echo
"<br>";
}
?>
2.
自己编写函数取出数组中的两个数值比较,取大的跟后一个数值比较,直到结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询