根据某个键值对二维数组进行排序是个常见问题,这里总结一个函数,可同时对两个键值分别排序,当然想要更多的话就自行解决吧。
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; }