PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】


Posted in PHP onApril 27, 2017

本文实例讲述了PHP编程实现多维数组按照某个键值排序的方法。分享给大家供大家参考,具体如下:

实现对多维数组按照某个键值排序的两种解决方法(array_multisortarray_sort):

第一种:

array_multisort()函数对多个数组或多维数组进行排序。

//对数组$hotcat按照count键值大小降序进行排序;
$hotcat =array(
 array('1501'=>array('catid'=>'1546','catname'=>'数组排序 一级','count'=>'588')),
 array('1501'=>array('catid'=>'1546','catname'=>'数组排序二级','count'=>'588')),
 array('1501'=>array('catid'=>'1546','catname'=>'数组排序 三级','count'=>'588'))
);
//提取列数组;
foreach ($hotcat as $key => $val) {
 $tmp[$key] = $row['username'];
}
array_multisort($tmp,SORT_DESC,$hotcat);此处对数组进行降序排列;SORT_DESC按降序排列

第二种:

自定义方法array_sort()进行排序

//指定数组以$keys键值排序
function array_sort($array,$keys,$type='asc'){
//$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序
$keysvalue = $new_array = array();
foreach ($array as $k=>$v){
$keysvalue[$k] = $v[$keys];
}
if($type == 'asc'){
asort($keysvalue);
}else{
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k=>$v){
$new_array[$k] = $array[$k];
}
return $new_array;
}
$hot_cat = array_sort($hot_cat,'count','desc'); //此处对数组进行降序排列

图一:

PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】

图二:

PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】

温馨提醒:由上图可知第一种方法有个弊端,如果你的数组如果是字符串键名将被保留,但是数字键将被重新索引,从0开始,并以1递增。所以当数组排序之后并且需要保留之前的所有键名的话,那就推荐使用第二种方法.

PHP 相关文章推荐
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
基于Zend的Config机制的应用分析
May 02 PHP
浅谈PHP与C#的值类型指向区别的详解
May 21 PHP
基于session_unset与session_destroy的区别详解
Jun 03 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
PHP抓取网页、解析HTML常用的方法总结
Jul 01 PHP
YII2.0之Activeform表单组件用法实例
Jan 09 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
Aug 10 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 #PHP
利用PHPExcel实现Excel文件的写入和读取
Apr 26 #PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 #PHP
PHP基于简单递归函数求一个数阶乘的方法示例
Apr 26 #PHP
php编程实现简单的网页版计算器功能示例
Apr 26 #PHP
Mac下php 5升级到php 7的步骤详解
Apr 26 #PHP
PHP中时间加减函数strtotime用法分析
Apr 26 #PHP
You might like
傻瓜化配置PHP环境――Appserv
2006/12/13 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
PHP 伪静态隐藏传递参数名的四种方法
2010/02/22 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php设计模式 Delegation(委托模式)
2011/06/26 PHP
PHP下获取上个月、下个月、本月的日期(strtotime,date)
2014/02/02 PHP
Yii分页用法实例详解
2014/12/04 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
jQuery中与toggleClass等价的程序段 以及未来学习的方向
2010/03/18 Javascript
分别用marquee和div+js实现首尾相连循环滚动效果,仅3行代码
2011/09/21 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
JavaScript日期时间格式化函数分享
2014/05/05 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
javascript将中国数字格式转换成欧式数字格式的简单实例
2016/08/02 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
利用JS判断字符串是否含有数字与特殊字符的方法小结
2016/11/25 Javascript
vue实现全匹配搜索列表内容
2019/09/26 Javascript
vue axios封装httpjs,接口公用配置拦截操作
2020/08/11 Javascript
[01:07:22]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG加赛
2014/05/26 DOTA
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
linux下安装easy_install的方法
2013/02/10 Python
使用Python的Zato发送AMQP消息的教程
2015/04/16 Python
Python中的ceil()方法使用教程
2015/05/14 Python
Python使用eval函数执行动态标表达式过程详解
2020/10/17 Python
详解python的super()的作用和原理
2020/10/29 Python
基于PyInstaller各参数的含义说明
2021/03/04 Python
英国高街电视:High Street TV
2018/05/22 全球购物
大学生毕业求职简历的自我评价
2013/10/24 职场文书
给全校老师的建议书
2014/03/13 职场文书
中国梦读书活动总结
2014/07/10 职场文书
公司踏青活动方案
2014/08/16 职场文书
城南旧事电影观后感
2015/06/16 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
JavaScript声明变量和数据类型的转换
2022/04/12 Javascript