展翅飞翔phpBoy00 2013-04-27
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; }