PHP实现根据数组某个键值大小进行排序的方法
发布:smiling 来源: PHP粉丝网 添加日期:2021-09-04 23:43:00 浏览: 评论:0
这篇文章主要介绍了PHP实现根据数组某个键值大小进行排序的方法,涉及php针对数组的遍历、排序等相关操作技巧,需要的朋友可以参考下。
本文实例讲述了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"
- }
- }
Tags: PHP数组键值大小排序
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)