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 相关文章推荐
从网上搜到的phpwind 0day的代码
Dec 07 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
php检测网页是否被百度收录的函数代码
Oct 09 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
php 数组字符串搜索array_search技巧
Jul 05 PHP
PHP反射API示例分享
Oct 08 PHP
PHP解决中文乱码
Apr 28 PHP
一个实用的php验证码类
Jul 06 PHP
Laravel 实现密码重置功能
Feb 23 PHP
ThinkPHP5.0多个文件上传后找不到临时文件的修改方法
Jul 30 PHP
PHP文件操作实例总结【文件上传、下载、分页】
Dec 08 PHP
php use和include区别总结
Oct 13 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/07/22 PHP
php实现递归抓取网页类实例
2015/04/03 PHP
Yii2单元测试用法示例
2016/11/12 PHP
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
javascript面向对象入门基础详细介绍
2012/09/05 Javascript
javascript变量作用域使用中常见错误总结
2013/03/26 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
javascript最基本的函数汇总
2015/06/25 Javascript
使用CamanJS在Web页面上处理图像的技巧
2015/08/18 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
JS获取短信验证码倒计时的实现代码
2017/05/22 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法
2017/12/24 jQuery
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
解决vue 格式化银行卡(信用卡)每4位一个符号隔断的问题
2018/09/14 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
微信小程序签到功能
2018/10/31 Javascript
vue实现百度语音合成的实例讲解
2019/10/14 Javascript
[02:52]2014DOTA2西雅图国际邀请赛 CIS战队巡礼
2014/07/07 DOTA
Python命令行参数解析模块getopt使用实例
2015/04/13 Python
Python的Flask框架中集成CKeditor富文本编辑器的教程
2016/06/13 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python sklearn中的.fit与.predict的用法说明
2020/06/28 Python
python中pyqtgraph知识点总结
2021/01/26 Python
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
自荐信要包含哪些内容
2013/11/06 职场文书
好邻里事迹材料
2014/01/16 职场文书
测绘工程专业求职信
2014/07/15 职场文书
寻找最美家庭活动方案
2014/08/20 职场文书
街道务虚会发言材料
2014/10/20 职场文书
小时代观后感
2015/06/10 职场文书
婚礼迎宾词大全
2015/08/10 职场文书
Java中生成微信小程序太阳码的实现方案
2022/06/01 Java/Android