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 相关文章推荐
NO3第三帝国留言簿制作过程
Oct 09 PHP
PHP执行速率优化技巧小结
Mar 15 PHP
修改Zend引擎实现PHP源码加密的原理及实践
Apr 14 PHP
php表单请求获得数据求和示例
May 15 PHP
smarty缓存用法分析
Dec 16 PHP
Yii2分页的使用及其扩展方法详解
May 23 PHP
[原创]解决wincache不支持64位PHP5.5/5.6的问题(提供64位wincache下载)
Jun 22 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
Sep 01 PHP
PHP实现微信商户支付企业付款到零钱功能
Sep 30 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 PHP
laravel 实现向公共模板中传值 (view composer)
Oct 22 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录入页面中动态从数据库中提取数据的实现
2006/10/09 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
2014/06/04 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
基于jquery实现的鼠标拖拽元素复制并写入效果
2011/08/23 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
Js如何判断客户端是PC还是手持设备简单分析
2012/11/22 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
Javascript实现商品秒杀倒计时(时间与服务器时间同步)
2015/09/16 Javascript
JS实现可拖曳、可关闭的弹窗效果
2015/09/26 Javascript
jQuery插件Validate实现自定义校验结果样式
2016/01/18 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
vue双向绑定简要分析
2017/03/23 Javascript
Vue+Flask实现简单的登录验证跳转的示例代码
2018/01/13 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
js module大战
2019/04/19 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
一分钟学会JavaScript中的try-catch
2020/12/14 Javascript
基于python的七种经典排序算法(推荐)
2016/12/08 Python
详解Python读取配置文件模块ConfigParser
2017/05/11 Python
Python 3实战爬虫之爬取京东图书的图片详解
2017/10/09 Python
深入解析神经网络从原理到实现
2019/07/26 Python
Django项目中使用JWT的实现代码
2019/11/04 Python
详解Python yaml模块
2020/09/23 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
新西兰购物网站:TheMarket NZ
2020/09/19 全球购物
JDK安装目录下有哪些内容
2014/08/25 面试题
文化建设工作方案
2014/05/12 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
食品质检员岗位职责
2015/04/08 职场文书
朋友离别感言
2015/08/04 职场文书
乡镇司法所2015年度工作总结
2015/10/14 职场文书
《扇形统计图》教学反思
2016/02/17 职场文书