根据某个键值对二维数组进行排序是个常见问题,这里总结一个函数,可同时对两个键值分别排序,当然想要更多的话就自行解决吧。
function array_sort($arr,$key1,$sort1='asc',$key2='',$sort2='asc'){
if (!is_array($arr)){
return $arr;
}
foreach($arr AS $key => $row){
$temp[$key] = $row[$key1];
}
$sort1 = $sort1 == 'asc' ? SORT_ASC : SORT_DESC;
if(!$key2){
array_multisort($temp, $sort1,$arr);
} else {
foreach($arr AS $key => $row){
$temp2[$key] = $row[$key2];
}
$sort2 = $sort2 == 'asc' ? SORT_ASC : SORT_DESC;
array_multisort($temp, $sort1,$temp2,$sort2,$arr);
}
return $arr;
}