二维,多维数组排序array_multisort()函数的使用

对于数组的排序,很很多方法;随便百度了一下

  • sort() - 以升序对数组排序
  • rsort() - 以降序对数组排序
  • asort() - 根据值,以升序对关联数组进行排序
  • ksort() - 根据键,以升序对关联数组进行排序
  • arsort() - 根据值,以降序对关联数组进行排序
  • krsort() - 根据键,以降序对关联数组进行排序

但是这些都是对一维数组的排序,遇到二维,甚至多维的,好像百度出来的结果不容易找到,

下面就来说说array_multisort()这个函数,这个函数能够根据多维数组中指定键值来排序,先上代码

$time_left = array();foreach($arr1 as $arr){    $time_left[] = $arr[‘time_left‘];}array_multisort($time_left,SORT_DESC,SORT_NUMERIC,$arr1);

代码很简单,首先先做了一个降维的处理,示例中是一个二维数组,根据键名time_left中的键值大小进行降序排序,第一个参数是降维后的需要排序的数组,第二个参数是规定排列顺序(可选值:SORT_ASC - 默认。按升序排列 (A-Z);SORT_DESC - 按降序排列 (Z-A)),第三个是规定排序类型,第四个是原多维数组;具体可以参考http://www.w3school.com.cn/php/func_array_multisort.asp文档好像我也解释的不是很清楚。。。但这些都是我的个人理解,有错误的地方,还请大神斧正;

本文属于个人原创,欢迎转载,转载请附链接:

http://www.cnblogs.com/x-x-j/p/7435372.html

时间: 2024-10-11 21:15:38

二维,多维数组排序array_multisort()函数的使用的相关文章

php基础篇-二维数组排序 array_multisort

原文:php基础篇-二维数组排序 array_multisort 对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type,array2,array3..)是对多个数组或多维数组进行排序的函数. array1 必需.规定输入的数组. sorting order 可选.规定排列顺序.可能的值是 SORT_ASC 和 SORT_DESC. sorting t

php 二维数组排序 array_multisort

对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type,array2,array3..)是对多个数组或多维数组进行排序的函数. array1 必需.规定输入的数组. sorting order 可选.规定排列顺序.可能的值是 SORT_ASC 和 SORT_DESC. sorting type 可选.规定排序类型.可能的值是SORT_REGULAR.S

PHP如何判断一个数组是一维数组或者是二维数组?用什么函数?

如题:如何判断一个数组是一维数组或者是二维数组?用什么函数? 判断数量即可 <?php if (count($array) == count($array, 1)) { echo '是一维数组'; } else { echo '不是一维数组'; } PHP手册: int count ( mixed $var [, int $mode ] )  --  计算数组中的单元数目或对象中的属性个数  如果可选的 mode 参数设为 COUNT_RECURSIVE(或 1),count() 将递归地对数组

多维数组排序array_multisort

用PHP自带array_multisort函数排序 <?php $data = array(); $data[] = array('volume' => 67, 'edition' => 2); $data[] = array('volume' => 86, 'edition' => 1); $data[] = array('volume' => 85, 'edition' => 6); $data[] = array('volume' => 98, 'ed

array_multisort() 函数

一.先看最简单的情况.有两个数组: $arr1 = array(1,9,5); $arr2 = array(6,2,4); array_multisort($arr1,$arr2); print_r($arr1); // 得到的顺序是1,5,9 print_r($arr2); // 得到的顺序是6,4,2 我估计两个数组的值自始至终都是对应着的:1对应6,9对应2,5对应4. 我们再加多一个数组看看会怎样: $arr1 = array(1,9,5); $arr2 = array(6,2,4);

如何利用php array_multisort函数 对数据库排序

数据库中有4个字段分别是id,volume,edition,name. 要求对查询结果按照volume+edition从大到小排序.下面将一下array_multisort函数array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序. 关联(string)键名保持不变,但数字键名会被重新索引. 排序顺序标志:SORT_ASC C 按照上升顺序排序SORT_DESC C 按照下降顺序排序排序类型标志:SORT_REGULAR C 将项目按照通常方法

【C语言天天练(二一)】内联函数

        引言:调用函数时,通常会因为建立调用.传递参数.跳转到函数代码并返回等花费掉一些时间,C语言的解决办法是使用类函数宏.在C99中,还提出了另外一种方法:内联函数.         内联函数:把函数变为内联函数将建议编译器尽可能快速地调用该函数,至于建议的效果则由实现来定义.因此,使函数变为内联函数可能会简化函数的调用机制,但也可能不起作用.内联函数是通过编译器来实现的,而宏则是在预编译的时候替换. 创建内联函数方法:在函数声明中使用函数说明符inline. 内联函数的特点: 1.

二、wpa_supplicant 初始化的关键函数

struct wpa_global * wpa_supplicant_init(struct wpa_params *params) struct wpa_supplicant * wpa_supplicant_add_iface(struct wpa_global *global,struct wpa_interface *iface) 1. wpa_supplicant_init()     /** * wpa_supplicant_init - Initialize %wpa_suppli

C# 互操作性入门系列(二):使用平台调用调用Win32 函数

好文章搬用工模式启动ing ..... { 文章中已经包含了原文链接 就不再次粘贴了 言明 改文章是一个系列,但只收录了2篇,原因是 够用了 } --------------------------------------------------------------------------------------- C#互操作系列文章: C#互操作性入门系列(一):C#中互操作性介绍 C#互操作性入门系列(二):使用平台调用调用Win32 函数 C#互操作性入门系列(三):平台调用中的数据封