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字符串 ==比较运算符的副作用
Oct 21 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
Mar 29 PHP
PHP fgetcsv 定义和用法(附windows与linux下兼容问题)
May 29 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
PHP生成随机字符串(3种方法)
Sep 25 PHP
windows平台中配置nginx+php环境
Dec 06 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
php插入含有特殊符号数据的处理方法
Nov 24 PHP
老生常谈PHP位运算的用途
Mar 12 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
Laravel的加密解密与哈希实例讲解
Mar 24 PHP
php访问对象中的成员的实例方法
Nov 17 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
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
Jquery练习之表单验证实现代码
2010/12/14 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
javaScript让文本框内的最后一个文字的后面获得焦点实现代码
2013/01/06 Javascript
javascript通过class来获取元素实现代码
2013/02/20 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
js如何获取兄弟、父类等节点
2014/01/06 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
jquery简单实现带渐显效果的选项卡菜单代码
2015/09/01 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
详解Vue.js Mixins 混入使用
2017/09/15 Javascript
Bootstrap 树控件使用经验分享(图文解说)
2017/11/06 Javascript
JavaScript数组去重算法实例小结
2018/05/07 Javascript
JavaScript执行环境及作用域链实例分析
2018/08/01 Javascript
微信小程序实现授权登录
2019/05/15 Javascript
jquery实现垂直手风琴导航栏
2020/02/18 jQuery
解决vant title-active-color与title-inactive-color不生效问题
2020/11/03 Javascript
python三元运算符实现方法
2013/12/17 Python
讲解Python中if语句的嵌套用法
2015/05/14 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
python多线程实现代码(模拟银行服务操作流程)
2020/01/13 Python
生产管理的三大手法
2013/11/11 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
业务员薪酬管理制度
2014/01/15 职场文书
小学节能减排倡议书
2014/05/15 职场文书
模特大赛策划方案
2014/05/28 职场文书
12.4全国法制宣传日活动方案
2014/11/02 职场文书
2014年领班工作总结
2014/11/25 职场文书
教师师德工作总结2015
2015/07/22 职场文书
2015年度女工工作总结
2015/10/22 职场文书
Python 使用dict实现switch的操作
2021/04/07 Python