PHP数组根据数组中的某个字段排序

给出一个PHP数组如下:

$arr = array(  
    array(  
        'name'=>'test1',  
        'status'=>1 
    ),  
    array(  
        'name'=>'test3',  
        'status'=>3
    ),  
    array(  
        'name'=>'test5',  
        'status'=>5
    ),  
    array(  
        'name'=>'test4',  
        'status'=>4
    ),
    array(  
        'name'=>'test2',  
        'status'=>2
    )  
);

需求是按照status从大到小的顺序重新排列数组,可以使用array_multisort函数来解决这个问题,代码如下:

<?php

$arr = array(  
    array(  
        'name'=>'test1',  
        'status'=>1 
    ),  
    array(  
        'name'=>'test3',  
        'status'=>3
    ),  
    array(  
        'name'=>'test5',  
        'status'=>5
    ),  
    array(  
        'name'=>'test4',  
        'status'=>4
    ),
    array(  
        'name'=>'test2',  
        'status'=>2
    )  
);  

$arr1 = array();  
foreach($arr as $v){  
    $arr1[] = $v['status'];  
}  
array_multisort($arr1, SORT_DESC, $arr);
36nu 分享编程知识及经验

已有账号?立即登录