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 相关文章推荐
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
Oct 03 PHP
php遍历文件夹所有文件子文件夹函数代码
Nov 27 PHP
memcache命令启动参数中文解释
Jan 13 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
Aug 19 PHP
php中$_GET与$_POST过滤sql注入的方法
Nov 03 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
PHP 极验验证码实例讲解
Sep 29 PHP
Zend Framework前端控制器用法示例
Dec 11 PHP
Mac系统完美安装PHP7详细教程
Jun 06 PHP
yii2多图上传组件的使用教程
May 10 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 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自动选择 连接本地还是远程数据库
2010/12/02 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
PHP实现懒加载的方法
2015/03/07 PHP
PHP 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
浅谈PHPANALYSIS提取关键字
2019/03/08 PHP
popdiv
2006/07/14 Javascript
js的匿名函数使用介绍
2013/12/11 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
JavaScript中Cookies的相关使用教程
2015/06/04 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
2016/01/27 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
scroll事件实现监控滚动条并分页显示(zepto.js)
2016/12/18 Javascript
详解基于angular路由的requireJs按需加载js
2017/01/20 Javascript
vue滚动轴插件better-scroll使用详解
2017/10/17 Javascript
javascript自定义事件功能与用法实例分析
2017/11/08 Javascript
vuejs实现本地数据的筛选分页功能思路详解
2017/11/15 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
Vue实现简单计算器案例
2020/02/25 Javascript
JavaScript的垃圾回收机制与内存管理
2020/08/06 Javascript
在vue-cli创建的项目中使用sass操作
2020/08/10 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
python重试装饰器示例
2014/02/11 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
详解Python 切片语法
2019/06/10 Python
python3实现mysql导出excel的方法
2019/07/31 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
利用python生成照片墙的示例代码
2020/04/09 Python
Django全局启用登陆验证login_required的方法
2020/06/02 Python
Christys’ Hats官网:英国帽子制造商
2018/11/28 全球购物
马来西亚在线购物:POPLOOK.com
2019/12/09 全球购物
优秀的教师个人的中文求职信
2013/09/21 职场文书
物业消防安全责任书
2014/07/23 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
python游戏开发之pygame实现接球小游戏
2022/04/22 Python