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;
}