日期:2014-05-16  浏览次数:20475 次

PHP如何实现二维数组排序?

二维数组在PHP开发中经常遇到,但是他的排序就不如一维数组那样用内置函数来的方便了,(一维数组排序可以参考本站另一篇文章【PHP中数组排序函数详解汇总】)。二维数组的排序需要我们自己写函数处理了,这里UncleToo给大家分享一个PHP二维数组排序的函数:

代码:

functionarray_sort($arr,$keys,$type='asc'){
$keysvalue= $new_array= array();
foreach($arras$k=>$v){
    $keysvalue[$k] = $v[$keys];
}
if($type== 'asc'){
    asort($keysvalue);
}else{
    arsort($keysvalue);
}
reset($keysvalue);
foreach($keysvalueas$k=>$v){
    $new_array[$k] = $arr[$k];
}
return$new_array;
}

?

函数的三个参数说明:

$arr:要排序的数组

$keys:指定根据哪个键值排序

$type:排序方式,升序还是降序,默认为升序?

这个PHP函数可以实现对一个二维数组根据指定键值进行排序,并返回排序后的数组。

调用示例:

?

$newArray= array_sort($array,'price');

?

原文出处:http://www.uncletoo.com/html/base/657.html