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