资讯专栏INFORMATION COLUMN

PHP函数之array_multisort()

RaoMeng / 1587人阅读

摘要:函数之说明函数返回排序数组。把每一项按常规顺序排列,不改变类型。把每一项作为字符串来处理,基于当前区域设置可通过进行更改。示例一维多个数组排序结果相同时,排序在的前面多维数组排序结果

PHP函数之array_multisort()


array_multisort() 说明:

array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序,可以理解为mysql中的sort key asc, key2 desc

语法
array_multisort(array1,sorting order,sorting type,array2,array3...)
参数
参数 描述
array1 必需。规定数组。
sorting order 可选。规定排列顺序。可能的值:SORT_ASC - 默认。按升序排列 (A-Z)。SORT_DESC - 按降序排列 (Z-A)。
sorting type 可选。规定排序类型。
array2 可选。规定数组。
array3 可选。规定数组。

sorting type 可选的值:

SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。

SORT_NUMERIC - 把每一项作为数字来处理。

SORT_STRING - 把每一项作为字符串来处理。

SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。

SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。

SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。

示例

一维多个数组排序


结果

Array
(
    [0] => Cat
    [1] => Dog
    [2] => Dog
)
Array
(
    [0] => Missy
    [1] => Fido    //dog相同时,fido排序在pluto的前面
    [2] => Pluto
)

多维数组排序

 array(
        "num1" => 3,
        "num2" => 27 
    ),
    
    "1" => array(
        "num1" => 5,
        "num2" => 50
    ),
    
    "2" => array(
        "num1" => 4,
        "num2" => 44
    ),
    
    "3" => array(
        "num1" => 3,
        "num2" => 78
    ) 
);

foreach ( $arr as $key => $row ){
    $num1[$key] = $row ["num1"];
    $num2[$key] = $row ["num2"];
}

array_multisort($num1, SORT_ASC, $num2, SORT_DESC, $arr);

print_r($arr);

结果

Array
(
    [0] => Array
        (
            [num1] => 3
            [num2] => 78
        )

    [1] => Array
        (
            [num1] => 3
            [num2] => 27
        )

    [2] => Array
        (
            [num1] => 4
            [num2] => 44
        )

    [3] => Array
        (
            [num1] => 5
            [num2] => 50
        )

)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22425.html

相关文章

  • php 二维数组排序

    摘要:前提给定一个二维数组,请根据指定的数组写出最优的排序。排序条件,指定数组如下估计大家都没有什么问题,排序嘛,简单的不要不要的方式一这应该是最简单的方式了,直接使用现成的函数,快捷的不要不要的。 前提 给定一个二维数组,请根据指定的数组key,写出最优的排序。排序条件age asc,sex desc,指定数组如下: $arr = [ [id=>1, age=>1,...

    ashe 评论0 收藏0
  • 数组排序函数-php数组函数(一)

    摘要:下列的所有排序函数都是直接作用于数组本身,而不是返回一个新的有序的数组。倒序并保持索引关系,按键名排序按键名倒序使用用户自定义的比较函数对数组中的值进行排序,要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。 数组排序,共13个 函数中有u的,能自定义比较函数;有k的,按照键来排序;有r(reverse)的,倒序;有a(association)的,一定是键值关联,除了r...

    call_me_R 评论0 收藏0
  • PHP 每日函数】第 03 周期

    摘要:说明获取数组中部分的或者所有的键名说明为数组的每个元素应用回调函数说明合并一个或者多个数组说明对多个数组或者多维数组进行排序具体可查看官网说明弹出数组中最后一个单元说明计算数组中所有值的乘积之前因为一些事,就没有每天都更,以后会坚持保持 2019-02-27 array_keys() array_keys ( array $array [, mixed $search_value = ...

    骞讳护 评论0 收藏0
  • PHP数组多个字段分别排序

    摘要:数组按其中一个字段排序数组个字段排序,先按第一个字段排序,再按第二个字段排序扩展方法最多支持对数组个字段排序,当然可以扩充的自定义方法重载实现对多维数字的排序。 1. PHP数组Array按其中一个字段排序 /** * Sort array by filed and type, common utility method. * @param array $data * @param s...

    liujs 评论0 收藏0
  • PHP开发过程中数组汇总 [ 持续更新系列 ]

    摘要:必选规定被搜索的数组可选如果设置为,则在数组中检查给定值的类型,默认是搜索数组中是否存在指定的值。回调函数接受的参数数目应该和传递给函数的数组数目一致。 开发过程中经常会使用到数组函数,故特地总结出来,自己熟悉,同时供大家参考!(实例部分会抽空尽快完成) 一、目录 array_merge(); 合并数组 array_keys(); array_filter(); in_array()...

    twohappy 评论0 收藏0

发表评论

0条评论

RaoMeng

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<