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 和 HTML
Oct 09 PHP
一个ubbcode的函数,速度很快.
Oct 09 PHP
PHP+MySQL5.0中文乱码解决方法
Nov 20 PHP
两个强悍的php 图像处理类1
Jun 15 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
Jul 04 PHP
php结合ACCESS的跨库查询功能
Jun 12 PHP
php准确获取文件MIME类型的方法
Jun 17 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
全新Mac配置PHP开发环境教程
Feb 03 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
Oct 11 PHP
laravel csrf排除路由,禁止,关闭指定路由的例子
Oct 21 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性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
UTF-8正则表达式如何匹配汉字
2015/08/03 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
PHP基于自定义函数实现的汉字转拼音功能实例
2017/09/30 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
laravel-admin解决表单select联动时,编辑默认没选上的问题
2019/09/30 PHP
PHP连接SQL server数据库测试脚本运行实例
2020/08/24 PHP
jquery.ui.draggable中文文档
2009/11/24 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
使用jquery mobile做幻灯播放效果实现步骤
2013/01/04 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
ES6新特性之变量和字符串用法示例
2017/04/01 Javascript
JS实现图片手风琴效果
2020/04/17 Javascript
JS与HTML结合实现流程进度展示条思路详解
2017/09/03 Javascript
NW.js 简介与使用方法
2018/02/01 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
2018/09/13 Javascript
微信小程序云开发之云函数详解
2019/05/16 Javascript
Python用threading实现多线程详解
2017/02/03 Python
python画出三角形外接圆和内切圆的方法
2018/01/25 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
Pytorch之parameters的使用
2019/12/31 Python
兼职业务员岗位职责
2014/01/01 职场文书
大学活动策划书范文
2014/01/10 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
文明礼貌演讲稿
2014/05/12 职场文书
诚信的演讲稿范文
2014/05/12 职场文书
党的群众路线教育实践活动总结
2014/10/30 职场文书
专家推荐信怎么写
2015/03/25 职场文书
父亲节感言
2015/08/03 职场文书
分享python函数常见关键字
2022/04/26 Python
vue ant design 封装弹窗表单的使用
2022/06/01 Vue.js