php二維數組排序函數,默認自然排序,即sort排序。這裡可以指定按二維數組中的某個值進行多種方法排序,具體看下面的程序注釋。
復制代碼 代碼如下:
/**
* @function 二維數組自然排序
* @author www.phpernote.com
* @param array $array 需要排序的數組(二維)
* @param string key 需要根據哪個鍵排序
* @param string order 排序方式(SORT_ASC,SORT_DESC)
* @param string type 排序方法(SORT_REGULAR,SORT_NUMERIC,SORT_STRING)
* @return array sorted array.
*/
function phpSortArray($array,$key,$order="SORT_ASC",$type="SORT_REGULAR"){
if(!is_array($array)||empty($$array)){
return $array;
}
$ArgCount=func_num_args();//返回傳遞到目前定義函數的參數數目
for($I=1;$I<$ArgCount;$I++){
$Arg=func_get_arg($I);
if(!eregi("SORT",$Arg)){
$KeyNameList[]=$Arg;
$SortRule[]='$'.$Arg;
}else{
$SortRule[]=$Arg;
}
}
foreach($array AS $Key=>$Info){
foreach($KeyNameList as $KeyName){
${$KeyName}[$Key]=$Info[$KeyName];
}
}
$EvalString='array_multisort('.join(",",$SortRule).',$array);';
eval($EvalString);
return $array;
}