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 smarty函数扩展
Mar 15 PHP
PHP 文件上传全攻略
Apr 28 PHP
php图片加水印原理(超简单的实例代码)
Jan 18 PHP
php-fpm配置详解
Feb 12 PHP
php使用fopen创建utf8编码文件的方法
Oct 31 PHP
PHP邮件群发机实现代码
Feb 16 PHP
Windows2003下php5.4安装配置教程(IIS)
Jun 30 PHP
PHPCMS2008广告模板SQL注入漏洞修复
Oct 11 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
CI框架简单分页类用法示例
Jun 06 PHP
Laravel登录失败次数限制的实现方法
Aug 26 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基础知识:类与对象(3) 构造函数和析构函数
2006/12/13 PHP
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
jquery+html5制作超酷的圆盘时钟表
2015/04/14 Javascript
js实现顶部可折叠的菜单工具栏效果实例
2015/05/09 Javascript
JavaScript实现将UPC转换成ISBN的方法
2015/05/26 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
2015/12/08 Javascript
JS模拟简易滚动条效果代码(附demo源码)
2016/04/05 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
2016/10/04 Javascript
详解jQuery的表单验证插件--Validation
2016/12/21 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
JavaScript enum枚举类型定义及使用方法
2020/05/15 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
[02:37]2018DOTA2亚洲邀请赛赛前采访-EG篇
2018/04/03 DOTA
python使用wmi模块获取windows下的系统信息 监控系统
2015/10/27 Python
python flask中静态文件的管理方法
2018/03/20 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
国际知名设计师时装商店:Coggles
2016/09/05 全球购物
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
小学三年级学生评语
2014/04/22 职场文书
机关党总支领导班子整改方案
2014/09/20 职场文书
毕业生见习报告总结
2014/11/08 职场文书
党支部先进事迹材料
2014/12/24 职场文书
springcloud之Feign超时问题的解决
2021/06/24 Java/Android
MongoDB安装使用并实现Python操作数据库
2021/06/28 MongoDB