• 售前

  • 售后

热门帖子
入门百科

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

[复制链接]
崔炫俊献 显示全部楼层 发表于 2021-10-25 19:16:13 |阅读模式 打印 上一主题 下一主题
本文实例报告了PHP实现根据数组某个键值大小进行排序的方法。分享给各人供各人参考,详细如下:
标题:针对给定数组的某个键的键值进行排序
解决方法:
  1. //$a是排序数组,$b是要排序的数据集合,$result是最终结果
  2. $b = array(
  3.   array('name'=>'北京','nums'=>'200'),
  4.   array('name'=>'上海','nums'=>'80'),
  5.   array('name'=>'广州','nums'=>'150'),
  6.   array('name'=>'深圳','nums'=>'70')
  7.   );
  8. $a = array();
  9. foreach($b as $key=>$val){
  10.   $a[] = $val['nums'];//这里要注意$val['nums']不能为空,不然后面会出问题
  11. }
  12. //$a先排序
  13. rsort($a);
  14. $a = array_flip($a);
  15. $result = array();
  16. foreach($b as $k=>$v){
  17.   $temp1 = $v['nums'];
  18.   $temp2 = $a[$temp1];
  19.   $result[$temp2] = $v;
  20. }
  21. //这里还要把$result进行排序,健的位置不对
  22. ksort($result);
  23. //然后就是你想看到的结果了
  24. var_dump($result);
复制代码
运行效果:
  1. array(4) {
  2. [0]=>
  3. array(2) {
  4.   ["name"]=>
  5.   string(4) "北京"
  6.   ["nums"]=>
  7.   string(3) "200"
  8. }
  9. [1]=>
  10. array(2) {
  11.   ["name"]=>
  12.   string(4) "广州"
  13.   ["nums"]=>
  14.   string(3) "150"
  15. }
  16. [2]=>
  17. array(2) {
  18.   ["name"]=>
  19.   string(4) "上海"
  20.   ["nums"]=>
  21.   string(2) "80"
  22. }
  23. [3]=>
  24. array(2) {
  25.   ["name"]=>
  26.   string(4) "深圳"
  27.   ["nums"]=>
  28.   string(2) "70"
  29. }
  30. }
复制代码
PS:这里再为各人保举一款关于排序的演示工具供各人参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于PHP干系内容感爱好的读者可查察本站专题:《PHP数据结构与算法教程》、《php步伐设计算法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作本领大全》、《PHP常用遍历算法与本领总结》及《PHP数学运算本领总结》
希望本文所述对各人PHP步伐设计有所帮助。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作