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

  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;

  }