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

前端之家收集整理的这篇文章主要介绍了php二维数组排序与默认自然排序的方法介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

PHP二维数组排序函数,默认自然排序,即sort排序。这里可以指定按二维数组中的某个值进行多种方法排序,具体看下面的程序注释。

代码如下:
/** @H_502_7@

* @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

猜你在找的PHP相关文章