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 相关文章推荐
实现 win2003 下 mysql 数据库每天自动备份
Dec 06 PHP
php中定义网站根目录的常用方法
Aug 08 PHP
PHP 万年历实现代码
Oct 18 PHP
php开启与关闭错误提示适用于没有修改php.ini的权限
Oct 16 PHP
php利用递归实现删除文件目录的方法
Sep 23 PHP
php mysql实现mysql_select_db选择数据库
Dec 30 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 PHP
PHP实现将优酷土豆腾讯视频html地址转换成flash swf地址的方法
Aug 04 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
Jun 14 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 PHP
Yii框架多语言站点配置方法分析【中文/英文切换站点】
Apr 07 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
Protoss魔法科技
2020/03/14 星际争霸
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php in_array 函数使用说明与in_array需要注意的地方说明
2010/04/13 PHP
PHP静态文件生成类实例
2014/11/29 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
PHP从尾到头打印链表实例讲解
2018/09/27 PHP
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
flag和jq on 的绑定多个对象和方法(必看)
2017/02/27 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
layui 图片上传+表单提交+ Spring MVC的实例
2019/09/21 Javascript
原生js实现日期选择插件
2020/05/21 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
[06:50]DSPL次级职业联赛十强晋级之路
2014/11/18 DOTA
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
python模拟鼠标拖动操作的方法
2015/03/11 Python
pandas按若干个列的组合条件筛选数据的方法
2018/04/11 Python
python实现列表中最大最小值输出的示例
2019/07/09 Python
Django 静态文件配置过程详解
2019/07/23 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
一文读懂python Scrapy爬虫框架
2021/02/24 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
香港唯港荟酒店预订:Hotel ICON
2018/03/27 全球购物
学生会个人自荐书范文
2014/02/12 职场文书
社区工作者演讲稿
2014/05/23 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
工作经常出错的检讨书
2014/09/13 职场文书
神农溪导游词
2015/02/11 职场文书
拾金不昧表扬稿大全
2015/05/05 职场文书
毕业班工作总结
2015/08/10 职场文书
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
JS中一些高效的魔法运算符总结
2021/05/06 Javascript