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 escape URL编码
Dec 10 PHP
PHP中使用SimpleXML检查XML文件结构实例
Jan 07 PHP
php计算函数执行时间的方法
Mar 20 PHP
php使用MySQL保存session会话的方法
Jun 26 PHP
纯php生成随机密码
Oct 30 PHP
php实现的一段简单概率相关代码
May 30 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
使用正则去除php代码中的注释方法
Nov 03 PHP
Zend Framework过滤器Zend_Filter用法详解
Dec 09 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
如何在centos8自定义目录安装php7.3
Nov 28 PHP
Yii Framework框架开发微信公众平台示例
Apr 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
咖啡风味 世界咖啡主要分布分布 咖啡的生长要求
2021/03/06 新手入门
PHP获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
php头像上传预览实例代码
2017/05/02 PHP
asp.net和php的区别点总结
2019/10/10 PHP
JS匀速运动演示示例代码
2013/11/26 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
javascript实现添加附件功能的方法
2015/11/18 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
实例讲解jQuery EasyUI tree中state属性慎用
2016/04/01 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
JS实现方形抽奖效果
2018/08/27 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
node基于async/await对mysql进行封装
2019/06/20 Javascript
Nuxt配置Element-UI按需引入的操作方法
2020/07/06 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
使用Python3中的gettext模块翻译Python源码以支持多语言
2015/03/31 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
Python使用POP3和SMTP协议收发邮件的示例代码
2019/04/16 Python
python自动结束mysql慢查询会话的实例代码
2019/10/27 Python
python中JWT用户认证的实现
2020/05/18 Python
Python爬虫实例之2021猫眼票房字体加密反爬策略(粗略版)
2021/02/22 Python
html5唤醒APP小记
2019/03/27 HTML / CSS
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
工地安全检查制度
2014/02/04 职场文书
五年级科学教学反思
2014/02/05 职场文书
集体备课反思
2014/02/12 职场文书
作风建设演讲稿
2014/05/23 职场文书
2015年班干部工作总结
2015/04/29 职场文书
技术转让协议书
2016/03/19 职场文书
Python selenium模拟网页点击爬虫交管12123违章数据
2021/05/26 Python