二维数组排序
// $array 二维数组 // $sort 排序的键名 按此键名排序 $array[] = array('id'=>'1','name'=>'zhangsan','age'=>'16'); $array[] = array('id'=>'2','name'=>'lisi','age'=>'17'); $array[] = array('id'=>'3','name'=>'wangwu','age'=>'18'); $sort = 'age'; array_multisort(new_array_column($array,$sort),SORT_DESC,$array); print_r($array); function new_array_column($array,$columnKey){ // 如果不是php5.5+ 则没有array_column()函数 if(!function_exists('array_column')){ $columnKeyIsNumber = (is_numeric($columnKey))?true:false; $indexKeyIsNull = (is_null($indexKey))?true :false; $result = array(); foreach((array)$array as $key=>$row){ if($columnKeyIsNumber){ $tmp= array_slice($row, $columnKey, 1); $tmp= (is_array($tmp) && !empty($tmp))?current($tmp):null; }else{ $tmp= isset($row[$columnKey])?$row[$columnKey]:null; } $result[$key] = $tmp; } return $result; }else{ return array_column($array, $columnKey); } }
By Mr.Yang