function arr_group_sort($new){

foreach($new as $key=>$val){

asort($new[$key]);//分别对每一组的数据进行排序;

$tmp=$new[$key];//将排序后的数据赋值给一个临时数组;

$tmp[]=$key;//将原来数组的键值加入到临时数组的末尾,为后期的修改键值的步骤做准备;

$a=array_shift($new[$key]);//将每一组的第一项(最小项)数据取出来,以aa组为例子,$a此时的值就为33;

$aa[$a]=$tmp;//新建一个数组,以$aa(比如33)为键值;

ksort($aa);//按照键值排序

}

foreach($aa as $key=>$val){//按照键值排序的数组,已经失去了原来的键值,比如aa/bb/cc/dd之类的,好在我们之前已经将键值存入了临时数组的末尾;

$b=array_pop($aa[$key]);//将键值取出来;

$bb[$b]=$aa[$key];//从新建立一个数组,使用之前的键值(aa/bb/cc)

}

return $bb;//返回

}

$c=arr_group_sort($new);

print_r($new);//原数组;

print_r($c);//分组排序后的数组;

?>

php 二维数组分组,php 二维数组的分组排序实现代码相关推荐

  1. java二维数组从键盘更改_互换二维数组的行列。要求数组的行数、列数以及各元素均从键盘输入;输出互换前数组内容和互换后数组内容。(要求循环输入进行测试)Java...

    1. 互换二维数组的行列.要求数组的行数.列数以及各元素均从键盘输入:输出互换前数组内容和互换后数组内容.(要求循环输入进行测试) package com.mingrisoft; import jav ...

  2. python读取文件中的数据为二维数组变量_Numpy 多维数据数组的实现

    numpy包(模块)几乎总是用于Python中的数值计算.这个软件包为Python提供了高性能的向量.矩阵.张量数据类型.它是在C和Fortran中创建的,因此当计算被矢量化(用矩阵和矢量表示操作)时 ...

  3. c++如何定义二维数组结构体_原来数组还可以这么玩(宏把数组玩坏了)

    点击上方公众号名称关注,获得更多内容 ✎ 编 者 悟 语 想起青春追寻的昨天,你也是曾经追风的少年. 文 章 导 读 今天给小伙伴们介绍下用宏对数组值进行分类使用的方式,比较大的程序中的寄存器经常会这 ...

  4. 【C 语言】数组 ( 一维数组形参退化 | 二维数组形参退化 | 函数形参等价关系 )

    文章目录 一.一维数组形参退化 二.二维数组形参退化 三.数组形参等价关系 一.一维数组形参退化 C 中将 一维数组 作为参数 , 传递到函数中 , 该 一维数组 会退化为 指针 ; 将 int ar ...

  5. 【C 语言】数组 ( 验证二维数组内存是线性的 | 打印二维数组 | 以一维数组方式打印二维数组 | 打印二维数组值和地址 )

    文章目录 一.验证二维数组内存是线性的 1.打印二维数组 2.以一维数组方式打印二维数组 3.打印二维数组值和地址 二.完整代码示例 一.验证二维数组内存是线性的 验证二维数组内存是线性的 : 验证方 ...

  6. 用STM32实现:摄像头扫到二维码后提取二维码中的信息分别放到数组中

    摄像头扫到二维码后提取二维码中的信息分别放到数组中 把想要的信息编辑好放到二维码中(网上有好多在线生成二维码的工具) /** *作者:魏波 *时间:2017.6.6 * **/char name[6] ...

  7. arrays中copyof复制两个数组_数组,及二维数组

    1.1 命令行参数(C) 在程序运行过程中,可以向应用程序传递一些参数,这些参数称为命名行参数. public 命令行参数以字符串的形式传入args数组中.可以一次传递0-多个参数,以空格分割. 如果 ...

  8. 二维数组,锯齿数组和集合 C# 一维数组、二维数组(矩形数组)、交错数组(锯齿数组)的使用 C# 数组、多维数组(矩形数组)、锯齿数组(交叉数组)...

    二维数组,锯齿数组和集合 一.二维数组 二维数组: 一维数组----豆角 二维数组----表格 定义: 1.一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组 ...

  9. 【干货】原生js做的一维数组对象,二维数组对象的模糊查询(前端网备份)...

    最重要的是二维数组 小程序通讯录(student) 后台的数据格式 wxml <input bindconfirm="search" bindinput="bind ...

  10. C++二维数组讲解、二维数组的声明和初始化

    我们知道,一维空间是一条线,数学中用一条数轴来表达:二维空间是一个平面,数学中用平面坐标系来表达.那么二维数组又是什么样的呢? 线与面 我们用一个下标来描述一维数组中的某个元素,就好像在用数描述一条线 ...

最新文章

  1. Oracle 12c(12.1.0.5) oem agent silent install(静默安装agent)
  2. 如何用Asp判断你的网站的虚拟物理路径
  3. 刻意练习:LeetCode实战 -- Task19. 相同的树
  4. 第二层EtherChannel
  5. 英特尔核显自定义分辨率_核显性能大提升 11代酷睿核显畅玩《战地5》
  6. Linux的Nginx五:进程|过程
  7. linux shell 常用基本语法
  8. Double Strings
  9. 奇妙的安全旅行之ECC算法
  10. 游戏行业很火,游戏建模师好不好做呢?怎样的建模师公司才欢迎?
  11. 鸿蒙系统无限延期,鸿蒙系统下月到来,三款手机首批升级,华为P50系列延期发布!...
  12. 计算二叉树的叶子结点个数_C++数据结构二叉树统计总结点个数,叶子结点个数,单分支结点个数,双分支结点个数。...
  13. 机器翻译的前世今生(1)
  14. linux访问ftp服务器命令
  15. xulrunner下载连接
  16. 《Mars说光场》系列文章整理
  17. Ubuntu20.04安装搜狗输入法指南
  18. 他们都来全球边缘计算大会了,就差你了!
  19. 如何高效学习一门新技术
  20. Windows开启winrm

热门文章

  1. 【MySQL逻辑运算符、模糊查询和ifnull】
  2. fiddler_1基础
  3. PaddleDetection研究报告——百度目标检测PP-YOLOE论文解读+实践应用
  4. 乒乓球捡球机器人_打乒乓终于可以不用捡球了?
  5. 笔记本中pycharm使用过程中光标变粗:
  6. ValueError: could not broadcast input array from shape(708,1016,3) into shape(1016,708,3)
  7. 国外十大免费服务器和域名(如何购买海外服务器)
  8. Mathtype与word字号对照
  9. linux git 制造冲突并解决冲突
  10. 2022云邮箱登陆首页介绍,企业云邮箱登陆方式有哪些?