实现对多维数组按照某个键值排序的两种解决方法(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实现对多维数组按照某个键值排序的两种解决方法相关推荐

  1. php多维求组按照健值排序,PHP编程实现多维数组按照某个键值排序的方法小结【2种方法】...

    本文实例讲述了PHP编程实现多维数组按照某个键值排序的方法.分享给大家供大家参考,具体如下: 实现对多维数组按照某个键值排序的两种解决方法(array_multisort和array_sort): 第 ...

  2. 二维数组的认识及其表示元素的两种方式

    /*============================================================================Name : TeatArr.cAuthor ...

  3. PHP 两个多维数组根据某个键的值进行组合排序的几种思路(二)

    几个经过封装的方法: 1.使用 array_multisort() 函数 <?php$arr = [['name'=>'dee','age'=>28],['name'=>'em ...

  4. php某列为键数组为值,PHP 将二维数组中某列值作为数组的键名 -- 超实用

    有时候,想通过数组的中某字段值, 然后再在二维数组中获取存在该字段值的数组: 一般能想到的就是foreach 遍历比较一下跟该字段值一样,就获取到想要的数组,如下: //测试二维数组 $arr =ar ...

  5. python键盘输入数组_python 二维数组切割Python读取键盘输入的2种方法

    Python提供了两个内置函数从标准输入读入一行文本,默认的标准输入是键盘.如下: 1.raw_input 2.input raw_input函数raw_input() 函数从标准输入读取一个行,并返 ...

  6. C语言学习之有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值

    有一个3X4的二维数组,要求用指向元素的指针变量输出二维数组各元素的值. int main(){int a[3][4];int i,j,*p;//p是 int *型指针变量printf("请 ...

  7. java多维数组按照某一列排序,PHP实现二维数组按某列进行排序的方法

    本文实例讲述了PHP实现二维数组按某列进行排序的方法.分享给大家供大家参考,具体如下: /* * 二维数组 按某列排序 * array_multisort($arr1,$arr2) * 手册 例子如下 ...

  8. php 空二位数组,php对二维数组进行相关操作(排序、转换、去空白等),php二维数组_PHP教程...

    function printr($arr) { echo ''; print_r($arr); echo ' '; } 第一组 :sort 和 rsort,按照PHP数组键值的顺序asc和逆序desc ...

  9. php 二维数组 根据值 找,PHP编程根据二维数组某个字段的值查找值所在的一维数组...

    /** *根据二维数组某个字段的值查找数组 * @param $index 数组中的key * @param $value 查找的值 */ function seacharr_by_value($ar ...

最新文章

  1. Event Loop
  2. 求13-23+33……-1003(3.6)(Java)
  3. 计算机无法安装系统,一招就能搞定“这台电脑无法安装 Windows 11”的解决方法...
  4. 在线视频常见加密方式及安全性透析
  5. 部署 Job (第四部分)
  6. PHP开发中涉及到emoji表情的几种处理方法
  7. 【转】hive简介安装 配置常见问题和例子
  8. 机器学习分类算法_收藏:机器学习算法分类图谱及其优缺点分析
  9. 时间序列的平稳性检验方法汇总篇
  10. 用于 3d 渲染应用程序的常见物体 IOR(折射率)值
  11. “大数据杀熟”手段变种需要警惕!
  12. win10 微信/QQ等能听到别人说话,别人听不到自己说话解决方案
  13. delphi的时间Ttime,Tdatetime的信息
  14. mysql怎么查询借阅相同图书_MySQL查询练习2
  15. QGraphicsItem图元拖动绘制(二)
  16. 华为 Mate 30 和 iPhone 11 最突出的差异:WiFi 6 和 5G 谁更“香”?
  17. 【修改el-menu主菜单和子菜单悬浮的背景色】
  18. html5网站上线模版,HTML5网站即将上线前端模板
  19. 产品经理必备神器——Axure软件试用评测
  20. Ubuntu:E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

热门文章

  1. 考研政治1000题浓缩版
  2. qprocess回调_Qt模块化笔记之core——QProcess控制外部程序
  3. 【Java实习生面试题系列】-- 多线程篇四
  4. 茶饮界的新黑马,悦茶日记勇闯市场成就新中式茶饮
  5. 小米4发布会视频地址
  6. Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】
  7. 如何查看并准确找到占用GPU的程序
  8. 微信浏览器 苹果 ios 网页跳转没反应
  9. CVPR2022 | ZeroCap:零样本图像到文本生成的视觉语义算法
  10. 感知机与多层网络,解决异或问题可视化