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中函数内引用全局变量的方法
Oct 20 PHP
php 随机记录mysql rand()造成CPU 100%的解决办法
May 18 PHP
PHP中常用的转义函数
Feb 28 PHP
php中执行系统命令的方法
Mar 21 PHP
作为程序员必知的16个最佳PHP库
Dec 09 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
PHP中的函数声明与使用详解
May 27 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
Nov 06 PHP
wordpress自定义标签云与随机获取标签的方法详解
Mar 22 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 PHP
PHP const定义常量及global定义全局常量实例解析
May 28 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内核解析:PHP中的哈希表
2014/01/30 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
PHP通过调用新浪API生成t.cn格式短网址链接的方法详解
2019/02/20 PHP
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
javascript学习笔记(九)javascript中的原型(prototype)及原型链的继承方式
2011/04/12 Javascript
jquery动态添加删除一行数据示例
2014/06/12 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
jQuery实现简单的DIV拖动效果
2016/02/19 Javascript
js中常用的Tab切换效果(推荐)
2016/08/30 Javascript
浅谈JavaScript的闭包函数
2016/12/08 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[43:03]LGD vs Newbee 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
django 中QuerySet特性功能详解
2019/07/25 Python
对python中UDP,socket的使用详解
2019/08/22 Python
opencv实现简单人脸识别
2021/02/19 Python
flask 实现token机制的示例代码
2019/11/07 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
CSS3中的弹性布局em运用入门详解 1em等于多少像素
2021/02/08 HTML / CSS
塔吉特百货公司官网:Target
2017/04/27 全球购物
学校志愿者活动总结
2014/06/27 职场文书
群众路线个人整改方案
2014/10/25 职场文书
机动车交通事故协议书
2015/01/29 职场文书
保管员岗位职责
2015/02/14 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
中学教代会开幕词
2016/03/04 职场文书
七年级作文之环保作文
2019/10/17 职场文书
将Python代码打包成.exe可执行文件的完整步骤
2021/05/12 Python
python实现层次聚类的方法
2021/11/01 Python
用Python实现屏幕截图详解
2022/01/22 Python