php二维数组排序与默认自然排序的方法介绍

展翅飞翔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;  


 }

相关推荐