根据给定键进行排序(eg:id,num,name,age)
$person = array(
array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21),
array('num'=>'001','id'=>7,'name'=>'ahangsan','age'=>23),
array('num'=>'003','id'=>1,'name'=>'bhangsan','age'=>23),
array('num'=>'001','id'=>3,'name'=>'dhangsan','age'=>23),
);
- (1) array_multisort
array_multisort($a1,SORT_ASC,$a2,SORT_DESC,$array1,$array2...);根绝$a1升序和$a2降序对$array1和$array2进行排序
function array_sort1($array,$row,$type){
$array_temp = array();
foreach($array as $v){
$array_temp[] = $v[$row];
}
print_r($array_temp);
if($type == 'asc'){
array_multisort($array_temp,SORT_ASC,$array);
}else{
array_multisort($array_temp,SORT_DESC,$array);
}
return $array;
}
- (2) ksort,krsort
sort 对数组进行升序排序不保持索引关系
rsort 对数组进行降序排序不保持索引关系
ksort 根据键值对数组进行升序排序
krsort 根据键值对数组进行降序排序
asort 对数组进行升序排序并保持索引关系
arsort 对数组进行降序排序并保持索引关系
function array_sort2($array,$row,$type){
$array_temp = array();
foreach($array as $v){
$array_temp[$v[$row]] = $v;
}
if($type == 'asc'){
ksort($array_temp);
}else{
krsort($array_temp);
}
return $array_temp;
}