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 相关文章推荐
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 PHP
php setcookie(name, value, expires, path, domain, secure) 参数详解
Jun 28 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
PHP转盘抽奖接口实例
Feb 09 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
Dec 07 PHP
smarty循环嵌套用法示例分析
Jul 19 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
PHP计算近1年的所有月份
Mar 13 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
PHP设计模式之适配器模式原理与用法分析
Apr 25 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
Oct 14 PHP
php7连接MySQL实现简易查询程序的方法
Oct 13 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
最省空间的计数器
2006/10/09 PHP
php树型类实例
2014/12/05 PHP
apache和PHP如何整合在一起
2015/10/12 PHP
php实现的简单数据库操作Model类
2016/11/16 PHP
tagName的使用,留一笔
2006/06/26 Javascript
Prototype RegExp对象 学习
2009/07/19 Javascript
Mootools 1.2教程 设置和获取样式表属性
2009/09/15 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
js获取窗口相对于屏幕左边和上边的位置坐标
2014/05/15 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
详解微信小程序 登录获取unionid
2017/06/27 Javascript
如何开发出更好的JavaScript模块
2017/12/22 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
node.js中TCP Socket多进程间的消息推送示例详解
2018/07/10 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
2018/09/17 Javascript
JavaScript文档加载模式以及元素获取
2020/07/28 Javascript
ant design vue嵌套表格及表格内部编辑的用法说明
2020/10/28 Javascript
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Python 多进程并发操作中进程池Pool的实例
2017/11/01 Python
python+ffmpeg视频并发直播压力测试
2018/03/06 Python
python如何删除文件中重复的字段
2019/07/16 Python
Python 通过微信控制实现app定位发送到个人服务器再转发微信服务器接收位置信息
2019/08/05 Python
解决Jupyter Notebook开始菜单栏Anaconda下消失的问题
2020/04/13 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
精伦电子Java笔试题
2013/01/16 面试题
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
打造完美自荐信
2014/01/24 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
宣传策划类求职信范文
2014/01/31 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
学者《孟子》名人名言
2019/08/09 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
tensorflow+k-means聚类简单实现猫狗图像分类的方法
2021/04/28 Python
python实现层次聚类的方法
2021/11/01 Python