php中array_multisort()对多维数组进行排序,相当于数据库查询是order by多字段排序。。超好用

本文通过一个具体的示例展示了如何使用PHP中的array_multisort函数对多维数组进行排序,包括设置排序顺序和类型,并给出了排序前后的数组对比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

array_multisort()对多维数组进行排序,这个功能在做项目的时候是有时会很有用的!!相当于数据库查询是order by多字段排序。
//待排序数组
$arr_data = array(
array('id'=>1,'name'=>'D','money'=>10),
array('id'=>3,'name'=>'B','money'=>2),
array('id'=>4,'name'=>'C','money'=>5),
array('id'=>2,'name'=>'A','money'=>4),


);
//打印排序前数组
print_r($arr_data);
foreach($arr_data as $key => $val){
$sortName[$key]=$val['name'];
$sortMoney[$key]=$val['money'];
}

/*
排序顺序标志:
SORT_ASC – 按照上升顺序排序
SORT_DESC – 按照下降顺序排序
排序类型标志:
SORT_REGULAR – 将项目按照通常方法比较
SORT_NUMERIC – 将项目按照数值比较
SORT_STRING – 将项目按照字符串比较
每个数组之后不能指定两个同类的排序标志。每个数组后指定的排序标志仅对该数组有效,默认值 SORT_ASC 和 SORT_REGULA。
*/
//array_multisort($sortName,SORT_DESC, $sortMoney, $arr_data); //可选参数SORT_DESC
array_multisort($sortName, $sortMoney, $arr_data);
//打印排序后数组

print_r($arr_data);


执行结果:

//打印排序前数组

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => D
            [money] => 10
        )
    [1] => Array
        (
            [id] => 3
            [name] => B
            [money] => 2
        )
    [2] => Array
        (
            [id] => 4
            [name] => C
            [money] => 5
        )
    [3] => Array
        (
            [id] => 2
            [name] => A
            [money] => 4
        )
)

//打印排序后数组

Array
(
    [0] => Array
        (
            [id] => 2
            [name] => A
            [money] => 4
        )

    [1] => Array
        (
            [id] => 3
            [name] => B
            [money] => 2
        )

    [2] => Array
        (
            [id] => 4
            [name] => C
            [money] => 5
        )

    [3] => Array
        (
            [id] => 1
            [name] => D
            [money] => 10
        )
)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值