主页 > 知识库 > PHP实现根据数组某个键值大小进行排序的方法

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

热门标签:银行业务 阿里云 电子围栏 科大讯飞语音识别系统 服务器配置 Mysql连接数设置 团购网站 Linux服务器

本文实例讲述了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:这里再为大家推荐一款关于排序的演示工具供大家参考:

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

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

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:
  • PHP多维数组指定多字段排序的示例代码
  • php自定义二维数组排序函数array_orderby用法示例
  • PHP实现统计一个数字在排序数组中出现次数的方法
  • PHP多维数组排序array详解
  • php usort 使用用户自定义的比较函数对二维数组中的值进行排序
  • PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】
  • PHP实现二维数组根据key进行排序的方法
  • php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
  • PHP实现数组根据某个单元字段排序操作示例

标签:枣庄 蚌埠 大理 萍乡 广元 江苏 衡水 衢州

巨人网络通讯声明:本文标题《PHP实现根据数组某个键值大小进行排序的方法》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266