PHP 多维数组的排序问题 根据二维数组中某个项排序


Posted in PHP onNovember 09, 2011

PHP内置函数 array_multisort 要求每个数组大小一样
$areas是地区的二维数组,包含人数和次数,现在要按这2种数进行降序排序

foreach($areaArray as &$areas) { 
$times = $numbers = array(); 
foreach($areas as $province => $v) { 
$times[$province] = $v['times']; 
$numbers[$province] = $v['numbers']; 
} 
array_multisort($times, SORT_DESC, $numbers, SORT_DESC, $areas); 
}

比如有个多为数组:
$arr = array( 
‘d' => array(‘id' => 5, ‘name' => 1, ‘age' => 7), 
‘b' => array(‘id' => 2,'name' => 3,'age' => 4), 
‘a' => array(‘id' => 8,'name' => 10,'age' => 5), 
‘c' => array(‘id' => 1,'name' => 2,'age' => 2) 
);

需要对二维数组中的 age 项排序。
需要用到PHP的内置函数 array_multisort(),可以看手册。
自定义函数:
function multi_array_sort($multi_array,$sort_key,$sort=SORT_ASC){ 
if(is_array($multi_array)){ 
foreach ($multi_array as $row_array){ 
if(is_array($row_array)){ 
$key_array[] = $row_array[$sort_key]; 
}else{ 
return false; 
} 
} 
}else{ 
return false; 
} 
array_multisort($key_array,$sort,$multi_array); 
return $multi_array; 
} 
//处理 
echo “<pre/>”; 
print_r(multi_array_sort($arr,'age'));exit; 
//输出 
Array 
( 
[c] => Array 
( 
[id] => 1 
[name] => 2 
[age] => 2 
) 
[b] => Array 
( 
[id] => 2 
[name] => 3 
[age] => 4 
) 
[a] => Array 
( 
[id] => 8 
[name] => 10 
[age] => 5 
) 
[d] => Array 
( 
[id] => 5 
[name] => 1 
[age] => 7 
) 
) 
written by 大宇 
0
PHP 相关文章推荐
php初学者写及时补给skype用户充话费的小程序
Nov 02 PHP
PHP提示Notice: Undefined variable的解决办法
Nov 24 PHP
ThinkPHP结合ajax、Mysql实现的客户端通信功能代码示例
Jun 23 PHP
PHP闭包实例解析
Sep 08 PHP
windows下配置php5.5开发环境及开发扩展
Dec 25 PHP
php中define用法实例
Jul 30 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
Dec 19 PHP
php简单实现sql防注入的方法
Apr 22 PHP
PHP与服务器文件系统的简单交互
Oct 21 PHP
Laravel中的chunk组块结果集处理与注意问题
Aug 15 PHP
设定php简写功能的方法
Nov 28 PHP
php fsockopen中多线程问题的解决办法[翻译]
Nov 09 #PHP
PHP句法规则详解 入门学习
Nov 09 #PHP
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 #PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 #PHP
php获取远程图片的两种 CURL方式和sockets方式获取远程图片
Nov 07 #PHP
php数组函数序列之array_pop() - 删除数组中的最后一个元素
Nov 07 #PHP
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
Nov 07 #PHP
You might like
PHP自定义函数收代码
2010/08/01 PHP
php开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
PHP 配置后台登录以及模板引入
2017/01/24 PHP
php 中的closure用法详解
2017/06/12 PHP
浅析PHP中的 inet_pton 网络函数
2019/12/16 PHP
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jquery实现的下拉和收缩效果示例
2014/08/21 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
在JavaScript中正确引用bind方法的应用
2015/05/11 Javascript
浅谈jQuery.easyui的datebox格式化时间
2015/06/25 Javascript
浅谈JavaScript 数据属性和访问器属性
2016/09/01 Javascript
js实现数组和对象的深浅拷贝
2017/09/30 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
微信小程序wx.navigateTo中events属性实现页面间通信传值,数据同步
2019/07/13 Javascript
使用VScode 插件debugger for chrome 调试react源码的方法
2019/09/13 Javascript
Vue-cli项目部署到Nginx服务器的方法
2019/11/01 Javascript
python网络编程学习笔记(七):HTML和XHTML解析(HTMLParser、BeautifulSoup)
2014/06/09 Python
python使用nntp读取新闻组内容的方法
2015/05/08 Python
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
Python函数式编程
2017/07/20 Python
Python中py文件引用另一个py文件变量的方法
2018/04/29 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
使用 Django Highcharts 实现数据可视化过程解析
2019/07/31 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
阿联酋电子产品购物网站:Menakart
2017/09/15 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
经典演讲稿范文
2013/12/30 职场文书
小学生元旦感言
2014/02/26 职场文书
小学班主任培训方案
2014/06/04 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
现实表现证明材料
2015/06/19 职场文书
小学副班长竞选稿
2015/11/21 职场文书
计算机实训心得体会
2016/01/14 职场文书