PHP实现对多维数组按照某个键值排序的两种解决方法
实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_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()进行排序
<span style="font-size:12px;">//指定数组以$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'); //此处对数组进行降序排列</span>
图一:
图二:
温馨提醒:由上图可知第一种方法有个弊端,如果你的数组如果是字符串键名将被保留,但是数字键将被重新索引,从0开始,并以1递增。所以当数组排序之后并且需要保留之前的所有键名的话,那就推荐使用第二种方法.
谢谢关注websites博客
PHP实现对多维数组按照某个键值排序的两种解决方法相关推荐
- php多维求组按照健值排序,PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】...
本文实例讲述了PHP编程实现多维数组按照某个键值排序的方法.分享给大家供大家参考,具体如下: 实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_sort): 第 ...
- 二维数组的认识及其表示元素的两种方式
/*============================================================================Name : TeatArr.cAuthor ...
- PHP 两个多维数组根据某个键的值进行组合排序的几种思路(二)
几个经过封装的方法: 1.使用 array_multisort() 函数 <?php$arr = [['name'=>'dee','age'=>28],['name'=>'em ...
- php某列为键数组为值,PHP 将二维数组中某列值作为数组的键名 -- 超实用
有时候,想通过数组的中某字段值, 然后再在二维数组中获取存在该字段值的数组: 一般能想到的就是foreach 遍历比较一下跟该字段值一样,就获取到想要的数组,如下: //测试二维数组 $arr =ar ...
- python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法
Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...
- C语言学习之有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值
有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值. int main(){int a[3][4];int i,j,*p;//p是 int *型指针变量printf("请 ...
- java多维数组按照某一列排序,PHP实现二维数组按某列进行排序的方法
本文实例讲述了PHP实现二维数组按某列进行排序的方法.分享给大家供大家参考,具体如下: /* * 二维数组 按某列排序 * array_multisort($arr1,$arr2) * 手册 例子如下 ...
- php 空二位数组,php对二维数组进行相关操作(排序、转换、去空白等),php二维数组_PHP教程...
function printr($arr) { echo ''; print_r($arr); echo ' '; } 第一组 :sort 和 rsort,按照PHP数组键值的顺序asc和逆序desc ...
- php 二维数组 根据值 找,PHP编程根据二维数组某个字段的值查找值所在的一维数组...
/** *根据二维数组某个字段的值查找数组 * @param $index 数组中的key * @param $value 查找的值 */ function seacharr_by_value($ar ...
最新文章
- Event Loop
- 求13-23+33……-1003(3.6)(Java)
- 计算机无法安装系统,一招就能搞定“这台电脑无法安装 Windows 11”的解决方法...
- 在线视频常见加密方式及安全性透析
- 部署 Job (第四部分)
- PHP开发中涉及到emoji表情的几种处理方法
- 【转】hive简介安装 配置常见问题和例子
- 机器学习分类算法_收藏:机器学习算法分类图谱及其优缺点分析
- 时间序列的平稳性检验方法汇总篇
- 用于 3d 渲染应用程序的常见物体 IOR(折射率)值
- “大数据杀熟”手段变种需要警惕!
- win10 微信/QQ等能听到别人说话,别人听不到自己说话解决方案
- delphi的时间Ttime,Tdatetime的信息
- mysql怎么查询借阅相同图书_MySQL查询练习2
- QGraphicsItem图元拖动绘制(二)
- 华为 Mate 30 和 iPhone 11 最突出的差异:WiFi 6 和 5G 谁更“香”?
- 【修改el-menu主菜单和子菜单悬浮的背景色】
- html5网站上线模版,HTML5网站即将上线前端模板
- 产品经理必备神器——Axure软件试用评测
- Ubuntu:E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?