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 相关文章推荐
用文本文件制作留言板提示(上)
Oct 09 PHP
php目录管理函数小结
Sep 10 PHP
php面向对象全攻略 (一) 面向对象基础知识
Sep 30 PHP
在PHP中使用反射技术的架构插件使用说明
May 18 PHP
php循环检测目录是否存在并创建(循环创建目录)
Jan 06 PHP
php中explode与split的区别介绍
Oct 03 PHP
PHP stripos()函数及注意事项的分析
Jun 08 PHP
php递归函数中使用return的注意事项
Jan 17 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
Nov 18 PHP
Linux系统中为php添加pcntl扩展
Aug 28 PHP
PHP给源代码加密的几种方法汇总(推荐)
Feb 06 PHP
PHP rsa加密解密算法原理解析
Dec 09 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分页原理 分页代码 分页类制作教程
2016/09/23 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
PHP房贷计算器实例代码,等额本息,等额本金
2017/04/01 PHP
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
jQuery在ul中显示某个li索引号的方法
2015/03/17 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
JS实现文档加载完成后执行代码
2015/07/09 Javascript
解决js页面滚动效果scrollTop在FireFox与Chrome浏览器间的兼容问题的方法
2015/12/03 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
JS实现动态生成表格并提交表格数据向后端
2020/11/25 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
微信小程序网络请求实现过程解析
2019/11/06 Javascript
Vue的状态管理vuex使用方法详解
2020/02/05 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
javascript实现数字时钟效果
2021/02/06 Javascript
零基础写python爬虫之抓取糗事百科代码分享
2014/11/06 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
VScode编写第一个Python程序HelloWorld步骤
2018/04/06 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
html5与css3小应用
2013/04/03 HTML / CSS
Ootori在线按摩椅店:一家专业的按摩椅制造商
2019/04/10 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
C和C++经典笔试题附答案解析
2014/08/18 面试题
挂科检讨书范文
2014/02/20 职场文书
高中军训感言200字
2014/02/23 职场文书
捐资助学倡议书
2014/04/15 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
2014年安全生产工作总结
2014/11/13 职场文书
教师节班会开场白
2015/06/01 职场文书
物业管理交接协议书
2016/03/24 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
AngularJS实现多级下拉框
2022/03/25 Javascript