PHP实现根据数组某个键值大小进行排序的方法
程序员文章站
2022-07-10 17:41:49
本文实例讲述了php实现根据数组某个键值大小进行排序的方法。分享给大家供大家参考,具体如下:
问题:针对给定数组的某个键的键值进行排序
解决方法:
//$a是...
本文实例讲述了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数学运算技巧总结》
希望本文所述对大家php程序设计有所帮助。
上一篇: PHP实现浏览器中直接输出图片的方法示例
下一篇: 循环依赖之三级缓存