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添加MySQL数据记录代码
Jun 07 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
php 错误处理经验分享
Oct 11 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
探讨Hessian在PHP中的使用分析
Jun 13 PHP
php常用Output和ptions/Info函数集介绍
Jun 19 PHP
php实现的mongodb操作类实例
Apr 03 PHP
分享50个提高PHP执行效率的技巧
Dec 26 PHP
Ubuntu 16.04下安装PHP 7过程详解
Mar 28 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
mac pecl 安装php7.1扩展教程
Oct 17 PHP
详解php反序列化
Jun 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目录操作实例代码
2014/02/21 PHP
Codeigniter控制器controller继承问题实例分析
2016/01/19 PHP
PHP大文件分块上传功能实例详解
2019/07/22 PHP
laravel框架如何设置公共头和公共尾
2019/10/22 PHP
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
JavaScript for循环 if判断语句(学习笔记)
2017/10/11 Javascript
layui获取多选框中的值方法
2018/08/15 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
2019/04/25 Javascript
JavaScript迭代器的含义及用法
2019/06/21 Javascript
elementUi vue el-radio 监听选中变化的实例代码
2019/06/28 Javascript
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
Vue实现指令式动态追加小球动画组件的步骤
2020/12/18 Vue.js
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
浅谈Python中列表生成式和生成器的区别
2015/08/03 Python
python单例模式实例解析
2018/08/28 Python
对Python 除法负数取商的取整方式详解
2018/12/12 Python
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
Python 旋转打印各种矩形的方法
2019/07/09 Python
python使用PIL和matplotlib获取图片像素点并合并解析
2019/09/10 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
python 实现非极大值抑制算法(Non-maximum suppression, NMS)
2020/10/15 Python
python 爬取小说并下载的示例
2020/12/07 Python
英国儿童图书网站:Scholastic
2017/03/26 全球购物
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
写自荐信要注意什么
2013/12/26 职场文书
信息技术国培研修日志
2015/11/13 职场文书
党组织结对共建协议书
2016/03/23 职场文书
解决go在函数退出后子协程的退出问题
2021/04/30 Golang
windows安装python超详细图文教程
2021/05/21 Python