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 09 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
php学习笔记 php中面向对象三大特性之一[封装性]的应用
Jun 13 PHP
解析PHP提交后跳转
Jun 23 PHP
PHP关于IE下的iframe跨域导致session丢失问题解决方法
Oct 10 PHP
PHP的引用详解
Feb 22 PHP
PHP代码实现爬虫记录――超管用
Jul 31 PHP
PHP文件上传操作实例详解
Sep 27 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 PHP
laravel框架语言包拓展实现方法分析
Nov 22 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
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
jQuery 表单验证插件formValidation实现个性化错误提示
2009/06/23 Javascript
学习javascript,实现插入排序实现代码
2011/07/31 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
ext combobox动态加载数据库数据(附前后台)
2014/06/17 Javascript
jquery实现网页的页面平滑滚动效果代码
2015/11/02 Javascript
javascript如何定义对象数组
2016/06/07 Javascript
webpack下实现动态引入文件方法
2018/02/22 Javascript
去掉vue 中的代码规范检测两种方法(Eslint验证)
2018/03/21 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
npm的lock机制解析
2019/06/20 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
简单了解vue中的v-if和v-show的区别
2019/10/08 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
python下载文件时显示下载进度的方法
2015/04/02 Python
Python网络爬虫与信息提取(实例讲解)
2017/08/29 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
python3 下载网络图片代码实例
2019/08/27 Python
Python 导入文件过程图解
2019/10/15 Python
python实现在线翻译
2020/06/18 Python
使用darknet框架的imagenet数据分类预训练操作
2020/07/07 Python
Python进行统计建模
2020/08/10 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
python给list排序的简单方法
2020/12/10 Python
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
2014/07/27 面试题
八年级历史教学反思
2014/01/10 职场文书
试用期员工考核制度
2014/01/22 职场文书
《春笋》教学反思
2014/04/15 职场文书
颂军魂爱军营演讲稿
2014/09/13 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
同学聚会感言一句话
2015/07/30 职场文书
升职自荐书
2019/05/09 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫