之前有写过:根据二维数组中的某个字段进行排序(https://www.cnblogs.com/T8888/p/12877578.html)。
本次所写的是二维数组根据某个键进行排序
/** *@desc 给定二维数组按照指定的键进行排序 *@param array *@return array **/ function array_sort($arr, $keys, $stype='asc'){ $keysvalue = $new_array = array(); foreach($arr as $k=>$v) { $keysvalue[$k] = $v[$keys]; } if($stype == 'asc') { asort($keysvalue); }else{ arsort($keysvalue); } reset($keysvalue); foreach ($keysvalue as $k=>$v) { $new_array[$k] = $arr[$k]; } return $new_array; } /** * 对数组按照键值倒叙排序,实现mysql order by的机制,先按照up字段降序排序,然后按照date字段的值降序排序 * @param $array * @return mixed */ function arraySort($array) { $up = []; $date = []; foreach ($array as $key => $row) { $up[$key] = $row['up']; $date[$key] = $row['dateline']; } array_multisort($up, SORT_DESC, $date, SORT_DESC, $array); return $array; }