array_multisort 多维数组排序函数

参数中的数组被当成一个表的列并以行来进行排序 - 这类似 sql 的 order by 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。

 

<?php教程
$a1=array("dog","cat");
$a2=array("fido","missy");
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>输出:

array ( [0] => cat [1] => dog )
array ( [0] => missy [1] => fido )

例子 6. 名次排列

<?php
$grade = array("score" => array(70, 95, 70.0, 60, "70"),
               "name" => array("zhang san", "li si", "wang wu",
                               "zhao liu", "liu qi"));
array_multisort($grade["score"], sort_numeric, sort_desc,
                // 将分数作为数值,由高到低排序
                $grade["name"], sort_string, sort_asc);
                // 将名字作为字符串,由小到大排序
var_dump($grade);
?> 

上例将输出:

array(2) {
  ["score"]=>
  array(5) {
    [0]=>
    int(95)
    [1]=>
    string(2) "70"
    [2]=>
    float(70)
    [3]=>
    int(70)
    [4]=>
    int(60)
  }
  ["name"]=>
  array(5) {
    [0]=>
    string(5) "li si"
    [1]=>
    string(6) "liu qi"
    [2]=>
    string(7) "wang wu"
    [3]=>
    string(9) "zhang san"
    [4]=>
    string(8) "zhao liu"
  }
}

 

多维数组排序:

<?php
$arr = array (array (1, 2, 3, 4), array ("a", "b", "b", "d"));
array_multisort($arr[0], sort_desc, $arr[1], sort_asc);
print_r($arr);
?>
运行该例子输出:

array
(
    [0] => array
        (
            [0] => 4
            [1] => 2
            [2] => 2
            [3] => 1
        )
 
    [1] => array
        (
            [0] => d
            [1] => b
            [2] => c
            [3] => a
        )
)

array_multisort() 函数对多个数组或多维数组进行排序。

时间: 2024-09-20 11:09:23

array_multisort 多维数组排序函数的相关文章

PHP实现指定字段的多维数组排序函数分享

 这篇文章主要介绍了PHP实现指定字段的多维数组排序函数分享,本文分享了一段PHP指定字段的多维数组排序方法的代码,这段代码可实现根据field字段对数组进行排序,需要的朋友可以参考下     PHP数组排序可以用array_multisort方法实现,但是如果是多维数组,并且我们要指定数组中的某个字段进行排序,那么这就需要我们自己写方法实现了.本文分享了一段PHP指定字段的多维数组排序方法的代码,这段代码可实现根据field字段对数组进行排序. 代码如下: function sortArrBy

PHP二维数组排序函数

HP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义. 以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:   function array_sort($arr,$keys,$type='asc'){ $keysvalue = $new_array = array(); foreach ($arr as $k=>$v){ $keysvalue[$k] = $v[$keys]; } if($type == 'asc'){

PHP多维数组排序函数 array_multisort() 实例讲解

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

PHP实现指定字段的多维数组排序函数分享_php技巧

PHP数组排序可以用array_multisort方法实现,但是如果是多维数组,并且我们要指定数组中的某个字段进行排序,那么这就需要我们自己写方法实现了.本文分享了一段PHP指定字段的多维数组排序方法的代码,这段代码可实现根据field字段对数组进行排序. 复制代码 代码如下: function sortArrByField(&$array, $field, $desc = false){   $fieldArr = array();   foreach ($array as $k => $

php关于array_multisort多维数组排序的使用说明_php技巧

一.先看最简单的情况.有两个数组: 复制代码 代码如下: $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);

php 多维数组排序 array_multisort函数用法

对2维数组或者多维数组排序是常见的问题,在php中我们有个专门的多维数组排序函数,下面简单介绍下: array_multisort(array1,sorting order, sorting type,array2,array3..)是对多个数组或多维数组进行排序的函数. 第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一: SORT_ASC - 默认,按升序排列.(A-Z) SORT_DESC - 按降序排列.(Z-A) 随后可以指定

php自定义函数实现二维数组排序功能_php技巧

本文实例讲述了php自定义函数实现二维数组排序功能.分享给大家供大家参考,具体如下: /**作用: 二维数组排序函数,支持多键名排序 * 返回: 排序好的数组 * 使用: array_msort(数组,需要排序的键名,排序方式); * 例子: array_msort($cflist,"chapter_orderid","SORT_ASC"); * array_msort($arr,"name","SORT_ASC","

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数组排序函数合集 以及它们之间的联系分析

下边提到的几个数组函数的排序有一些共性:1 数组被作为排序函数的参数,排序以后,数组本身就发生了改变,函数的返回值为bool类型. 2 函数名中出现单a表示association,含义为,在按值排序的过程中,保持key=>value的对应关系不变 3 函数名中出现单k表示key,含义为,在按值排序的过程中按照数组key而不是数组的值排序 4 函数名中出现单r的表示reverse,含义为,按照跟不加r的相反的顺序排列 5 函数名中出现单u的表示user-defined,含义为,使用用户自定义函数排