PHP实现根据数组某个键值大小进行排序的方法

问题:针对给定数组的某个键的键值进行排序

解决方法:

//$a是排序数组,$b是要排序的数据集合,$result是最终结果 $b = array( array('name'=>'北京','nums'=>'200'), array('name'=>'上海','nums'=>'80'), array('name'=>'广州','nums'=>'150'), array('name'=>'深圳','nums'=>'70') ); $a = array(); foreach($b as $key=>$val){ $a[] = $val['nums'];//这里要注意$val['nums']不能为空,不然后面会出问题 } //$a先排序 rsort($a); $a = array_flip($a); $result = array(); foreach($b as $k=>$v){ $temp1 = $v['nums']; $temp2 = $a[$temp1]; $result[$temp2] = $v; } //这里还要把$result进行排序,健的位置不对 ksort($result); //然后就是你想看到的结果了 var_dump($result);

运行结果:

array(4) { [0]=> array(2) { ["name"]=> string(4) "北京" ["nums"]=> string(3) "200" } [1]=> array(2) { ["name"]=> string(4) "广州" ["nums"]=> string(3) "150" } [2]=> array(2) { ["name"]=> string(4) "上海" ["nums"]=> string(2) "80" } [3]=> array(2) { ["name"]=> string(4) "深圳" ["nums"]=> string(2) "70" } }

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/95e103aef9997f218d042970ad2db416.html