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面向对象全攻略 (十五) 多态的应用
Sep 30 PHP
php切割页面div内容的实现代码分享
Jul 31 PHP
php之Smarty模板使用方法示例详解
Jul 08 PHP
PHP使用CURL模拟登录的方法
Jul 08 PHP
再Docker中架设完整的WordPress站点全攻略
Jul 29 PHP
Symfony生成二维码的方法
Feb 04 PHP
PHP 生成微信红包代码简单
Mar 25 PHP
php ajax异步读取rss文档数据
Mar 29 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
Jan 20 PHP
PHP+Ajax实现的博客文章添加类别功能示例
Mar 29 PHP
PHP5.6读写excel表格文件操作示例
Feb 26 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 图片上添加透明度渐变的效果
2009/06/29 PHP
解决file_get_contents无法请求https连接的方法
2013/12/17 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
PHP时间函数使用详解
2019/03/21 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
用JS判断IE版本的代码 超管用!
2011/08/09 Javascript
JavaScript高级程序设计 学习笔记 js高级技巧
2011/09/20 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JS替换文本域内的回车示例
2014/02/18 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
javascript中call apply 与 bind方法详解
2016/03/10 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
jQuery中图片展示插件highslide.js的简单dom
2018/04/22 jQuery
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
用Python写冒泡排序代码
2016/04/12 Python
Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析
2019/04/27 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
PyTorch加载预训练模型实例(pretrained)
2020/01/17 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
CSS3中动画属性transform、transition和animation属性的区别
2016/09/25 HTML / CSS
HTML5中判断横屏竖屏的方法(移动端)
2016/08/04 HTML / CSS
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
瑞典度假品牌:OAS
2019/05/28 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
英国领先的男装设计师服装独立零售商:Repertoire Fashion
2020/10/19 全球购物
几个MySql的面试题
2013/04/22 面试题
建筑经济管理专业求职信分享
2014/01/06 职场文书
职工运动会感言
2014/02/07 职场文书
《开国大典》教学反思
2014/04/19 职场文书
元旦标语大全
2014/10/09 职场文书
MySQL连接查询你真的学会了吗?
2021/06/02 MySQL