如何取得数组中前3个最大值的键值?最好是php语言,其他也可。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何取得数组中前3个最大值的键值?最好是php语言,其他也可。相关的知识,希望对你有一定的参考价值。
参考技术A #先倒叙,然后,取第前3个数据,键即可$array = ['a' => 2, 'b' => 1, 'c' => 3, 'd' => 5, 'e' => 11];
arsort($array);
print_r(array_keys(array_slice($array, 0, 3))); 参考技术B $array = array('a'=>1,'b'=>4,'c'=>3,'d'=>2);
asort($array);
$b = array_chunk(array_keys($array),3);
print_r($b[0]);
$b[0] 里面的值就是。最大的3个值的键值 参考技术C $answer=array_sort($array);
这样$answer就被排序了,好了,后面你就按顺序取值好了。 参考技术D 是说按照由大到小排序之后的, 前三个键值? 还是说,前三个中,最大的那个数的键值?
PHP如何根据数组中的键值进行排序
主要是使用PHP的排序函数,asort()和arsort()。
为了减少代码的耦合性,我们将根据数组中的键值进行排序封装成一个函数
1 <?php 2 $array = array( 3 array(‘name‘=>‘aa‘,‘price‘=>1050), 4 array(‘name‘=>‘bb‘,‘price‘=>4300), 5 array(‘name‘=>‘cc‘,‘price‘=>3100), 6 array(‘name‘=>‘dd‘,‘price‘=>4900), 7 array(‘name‘=>‘ee‘,‘price‘=>960), 8 array(‘name‘=>‘ff‘,‘price‘=>6299), 9 array(‘name‘=>‘gg‘,‘price‘=>1200) 10 ); 11 function arr_sort($array,$key,$order="asc"){ //asc是升序 desc是降序 12 $arr_nums=$arr=array(); 13 foreach($array as $k=>$v){ 14 $arr_nums[$k]=$v[$key]; 15 } 16 if($order==‘asc‘){ 17 asort($arr_nums); 18 }else{ 19 arsort($arr_nums); 20 } 21 foreach($arr_nums as $k=>$v){ 22 $arr[$k]=$array[$k]; 23 } 24 print_r($arr); 25 } 26 arr_sort($array,‘price‘);
以上是关于如何取得数组中前3个最大值的键值?最好是php语言,其他也可。的主要内容,如果未能解决你的问题,请参考以下文章