PHP关联数组按某一value值排序

1.定义

二维数组根据某个字段排序有两种办法,一种是通过sort自己写代码,一种是直接用array_multisort排序函数,这里直接说使用array_multisortd的方式。

2.eg:

//   a. 构造测试数据
$roledata = array(
    array("name"=>"aa","age"=>20),
    array("name"=>"bb","age"=>5),
    array("name"=>"cc","age"=>10),
    array("name"=>"dd","age"=>30),
    array("name"=>"ee","age"=>44)
);

// b. 按年龄排序   SORT_ASC升序排序,SORT_DESC降序排序
// $tempArr用来存储排序字段 
$tempArr = array();
foreach($roledata as $key=>$v){
    $tempArr[$key]['age'] = $v['age'];
}

//降序排序
array_multisort($tempArr,SORT_DESC,$roledata);

//c .打印输出
foreach($roledata as $key=>$value){
    echo $value['name']."---".$value["age"]."\n";
}

// result:
//ee---44
//dd---30
//aa---20
//cc---10
//bb---5

posted @ 2018-11-29 10:01  yatolk  阅读(3496)  评论(0编辑  收藏  举报