PHP二维数组排序函数,默认自然排序,即sort排序。这里可以指定按二维数组中的某个值进行多种方法排序,具体看下面的程序注释。
* @function 二维数组自然排序 @H_502_7@
* @author www.PHPernote.com @H_502_7@
* @param array $array 需要排序的数组(二维) @H_502_7@
* @param string key 需要根据哪个键排序 @H_502_7@
* @param string order 排序方式(SORT_ASC,SORT_DESC) @H_502_7@
* @param string type 排序方法(SORT_REGULAR,SORT_NUMERIC,SORT_STRING) @H_502_7@
* @return array sorted array. @H_502_7@
*/ @H_502_7@
function PHPSortArray($array,$key,$order="SORT_ASC",$type="SORT_REGULAR"){ @H_502_7@
if(!is_array($array)||empty($$array)){ @H_502_7@
return $array; @H_502_7@
} @H_502_7@
$ArgCount=func_num_args();//返回传递到目前定义函数的参数数目 @H_502_7@
for($I=1;$I<$ArgCount;$I++){ @H_502_7@
$Arg=func_get_arg($I); @H_502_7@
if(!eregi("SORT",$Arg)){ @H_502_7@
$KeyNameList[]=$Arg; @H_502_7@
$SortRule[]='$'.$Arg; @H_502_7@
}else{ @H_502_7@
$SortRule[]=$Arg; @H_502_7@
} @H_502_7@
} @H_502_7@
foreach($array AS $Key=>$Info){ @H_502_7@
foreach($KeyNameList as $KeyName){ @H_502_7@
${$KeyName}[$Key]=$Info[$KeyName]; @H_502_7@
} @H_502_7@
} @H_502_7@
$EvalString='array_multisort('.join(",",$SortRule).',$array);'; @H_502_7@
eval($EvalString); @H_502_7@
return $array; @H_502_7@
}
@H_502_7@ 原文链接:https://www.f2er.com/php/26642.html