PHP二维数据根据某个键进行排序
/** * 对多位数组进行排序 * @param $multi_array 数组 * @param $sort_key需要传入的键名 * @param $sort排序类型 */ function multi_array_sort($multi_array, $sort_key, $sort = SORT_DESC) { if (is_array($multi_array)) { foreach ($multi_array as $row_array) { if (is_array($row_array)) { $key_array[] = $row_array[$sort_key]; } else { return FALSE; } } } else { return FALSE; } array_multisort($key_array, $sort, $multi_array); return $multi_array; }
示例如下:
$arr = array( array('name'=>'小明', 'score'=>59), array('name'=>'小花', 'score'=>86), array('name'=>'小兰', 'score'=>75) ); //使用函数进行排序, 第三个参数可以不传,默认从大到小进行排序 $arr = multi_array_sort($arr, 'score'); //效果如下 $arr = array( array('name'=>'小花', 'score'=>86), array('name'=>'小兰', 'score'=>75), array('name'=>'小明', 'score'=>59) );