一天一个PHP函数之-array_multisort 数组排序

这篇博客介绍了PHP中的array_multisort函数,用于对多个数组或多维数组进行排序。通过示例展示了如何根据数组中'create_time'字段对数据进行降序排序,从而实现多维数组的排序。这个功能在处理复杂数据结构时非常有用。

array_multisort

(PHP 4, PHP 5, PHP 7, PHP 8)

array_multisort — 对多个数组或多维数组进行排序

说明

array_multisort(
    array &$array1,
    mixed $array1_sort_order = SORT_ASC,
    mixed $array1_sort_flags = SORT_REGULAR,
    mixed ...$rest
): bool

array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。

关联(string)键名保持不变,但数字键名会被重新索引。

实践:

$data=Array
(
    [0] => Array
        (
            [id] => 2
            [user_id] => 14       
            [amount] => 90000.00
            [status] => 2
            [remarks] =>
            [create_time] => 2018-06-26 17:29:49
        )

    [1] => Array
        (
            [id] => 1
            [user_id] => 14
            [amount] => 100000.0       
            [status] => 2
            [remarks] => wrferqwqwe
            [create_time] => 2018-06-26 17:15:15
        )

    [2] => Array
        (
            [id] => 38
            [transfer_sn] => 180622094323403
            [type] => 0
            [out_user_id] => 13
            [in_user_id] => 14
            [amount] => 12.00
            [create_time] => 2018-06-22 09:43:23
        )
)

如要按 create_time排序:

array_multisort(array_column($data,'create_time'),SORT_DESC,$data);

小明生活在一个幸福的七口之家,爸爸妈妈、爷爷奶奶和外公外婆都非常爱他。一天小明突然想知道家里的长辈们都多大岁数了,谁年纪大谁年纪小,请你来写一个PHP小程序帮帮他。 相关知识 PHP数组排序PHP中,数组中的元素可以按字母或数字顺序进行降序或升序排列。 sort()函数 sort()函数的作用是对数组进行升序排列。 下面的示例将$cars数组中的元素按照字母升序排列: <?php $cars=array("Volvo","BMW","Toyota"); sort($cars); print_r($cars); ?> 执行以上代码,结果如下: Array ( [0] => BMW [1] => Toyota [2] => Volvo ) 下面的示例将$numbers数组中的元素按照数字升序排列: <?php $numbers=array(4,6,2,22,11); sort($numbers); print_r($numbers); ?> 执行以上代码,结果如下: Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 11 [4] => 22 ) rsort()函数 rsort()函数的作用是对数组进行降序排列。 下面的示例将$cars数组中的元素按照字母降序排列: <?php $cars=array("Volvo","BMW","Toyota"); sort($cars); print_r($cars); ?> 执行以上代码,结果如下: Array ( [0] => Volvo [1] => Toyota [2] => BMW ) 下面的示例将$numbers数组中的元素按照数字降序排列: <?php $numbers=array(4,6,2,22,11); sort($numbers); print_r($numbers); ?> 执行以上代码,结果如下: Array ( [0] => 22 [1] => 11 [2] => 6 [3] => 4 [4] => 2 ) asort()函数 asort()函数的作用是根据数组的值,对数组进行升序排列。 下面的示例根据数组的值,对关联数组进行升序排列: <?php $age=array("Peter"=>"37","Ben"=>"35","Joe"=>"43"); asort($age); print_r($age); ?> 执行以上代码,结果如下: Array ( [Ben] => 35 [Peter] => 37 [Joe] => 43 ) ksort()函数 ksort()函数的作用是根据数组的键,对数组进行升序排列。 下面的示例根据数组的键,对关联数组进行升序排列: <?php $age=array("Peter"=>"37","Ben"=>"35","Joe"=>"43"); asort($age); print_r($age); ?> 执行以上代码,结果如下: Array ( [Ben] => 35 [Joe] => 43 [Peter] => 37 ) arsort()函数 arsort()函数的作用是根据数组的值,对数组进行降序排列。 下面的示例根据数组的值,对关联数组进行降序排列: <?php $age=array("Peter"=>"37","Ben"=>"35","Joe"=>"43"); asort($age); print_r($age); ?> 执行以上代码,结果如下: Array ( [Joe] => 43 [Peter] => 37 [Ben] => 35 ) krsort()函数 krsort()函数的作用是根据数组的键,对数组进行降序排列。 下面的示例根据数组的键,对关联数组进行降序排列: <?php $age=array("Peter"=>"37","Ben"=>"35","Joe"=>"43"); asort($age); print_r($age); ?> 执行以上代码,结果如下: Array ( [Peter] => 37 [Joe] => 43 [Ben] => 35 ) 编程要求 本关要求补全右侧的代码,具体要求如下: 正确选择合适的函数来实现按照降序排列所有人的年龄,并输出排序结果。 评测说明 平台将自动编译补全后的代码,并生成若干组测试数据,接着根据程序的输出判断程序是否正确。 以下是测试样例: 测试输入: 预期输出: 奶奶 爷爷 外公 外婆 爸爸 妈妈
最新发布
06-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值