$arr = array(
0=>array(
'id'=>56,
'name'=>"葉少翔",
'age' =>18
),
1=>array(
'id'=>66,
'name'=>"PHP5",
'age' =>23
),
2=>array(
'id'=>76,
'name'=>"江尊少",
'age' =>20
),
array(
'id'=>36,
'name'=>"Mysql56",
'age' =>19
)
);
/**
* 二維數組排序
* @param [type] $array 要進行排序的二維數組
* @param [type] $key 按什麼字段進行排序
* @param string $order 排序方式 aSORT_DESC 降序;SORT_ASC 升序
*/
function get_arr_sort($array,$key,$order="SORT_ASC"){
//定義一個空數組
$arrSort = array();
$sort = array(
'direction' => $order,
'field' => $key,
);
//循環數組
foreach($array as $key=>$val){
foreach($val as $k=>$v){
$arrSort[$k][$key] = $v;
}
}
//開始進行排序
array_multisort($arrSort[$sort['field']], constant($sort['direction']), $array);
return $array;
}
/**
* 二維數組排序
* @param [type] $array 要進行排序的二維數組
* @param [type] $key 按什麼字段進行排序
* @param string $order 排序方式 asc是升序 desc是降序
* @return [type] [description]
*/
function array_sort($array,$key,$order="asc"){
$arr_nums=$arr=array();
foreach($array as $k=>$v){
$arr_nums[$k]=$v[$key];
}
if($order=='asc'){
asort($arr_nums);
}else{
arsort($arr_nums);
}
foreach($arr_nums as $k=>$v){
$arr[$k]=$array[$k];
}
return $arr;
}
$sort = array( 'direction' => 'SORT_ASC', //排序順序標誌 SORT_DESC 降序;SORT_ASC 升序
'field' => 'name', //排序字段
);
$arrSort = array();
foreach($arr as $key => $val){
foreach($val as $k=>$v){
$arrSort[$k][$key] = $v;
}
}
var_dump($arrSort);