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 相关文章推荐
PHP4之真OO
Oct 09 PHP
function.inc.php超越php
Dec 09 PHP
Snoopy类使用小例子
Apr 15 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
php XMLWriter类的简单示例代码(RSS输出)
Sep 30 PHP
php在线代理转向代码
May 05 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 PHP
php cookie 详解使用实例
Nov 03 PHP
php 7新特性之类型申明详解
Jun 06 PHP
PHP简单实现循环链表功能示例
Nov 10 PHP
PHP 99乘法表的几种实现代码
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
德生PL990的分析评价
2021/03/02 无线电
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
Symfony2针对输入时间进行查询的方法分析
2017/06/28 PHP
php中get_object_vars()在数组的实例用法
2021/02/22 PHP
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
基于CSS3和jQuery实现跟随鼠标方位的Hover特效
2016/07/25 Javascript
jquery对象和DOM对象的相互转换详解
2016/10/18 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
vue 实现cli3.0中使用proxy进行代理转发
2019/10/30 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[02:29]DOTA2英雄基础教程 陈
2013/12/17 DOTA
Python压缩和解压缩zip文件
2015/02/14 Python
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python爬取qq music中的音乐url及批量下载
2017/03/23 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
Python zip()函数用法实例分析
2018/03/17 Python
利用Python yagmail三行代码实现发送邮件
2018/05/11 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
python框架flask表单实现详解
2019/11/04 Python
毕业生自荐信
2013/12/14 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
房产公证委托书范本
2014/09/20 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
户外活动总结
2015/02/04 职场文书
交通事故案件代理词
2015/05/23 职场文书
离职证明格式样本
2015/06/12 职场文书
男方家长婚礼致辞
2015/07/27 职场文书