PHP二维数组排序函数
PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。
以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:
01.
functionarray_sort($arr,$keys,$type='asc'){
02.
$keysvalue= $new_array= array();
03.
foreach($arras$k=>$v){
04.
$keysvalue[$k] = $v[$keys];
05.
}
06.
if($type== 'asc'){
07.
asort($keysvalue);
08.
}else{
09.
arsort($keysvalue);
10.
}
11.
reset($keysvalue);
12.
foreach($keysvalueas$k=>$v){
13.
$new_array[$k] = $arr[$k];
14.
}
15.
return$new_array;
16.
}
它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例:
01.
$array= array(
02.
array('name'=>'手机','brand'=>'诺基亚','price'=>1050),
03.
array('name'=>'笔记本电脑','brand'=>'lenovo','price'=>4300),
04.
array('name'=>'剃须刀','brand'=>'飞利浦','price'=>3100),
05.
array('name'=>'跑步机','brand'=>'三和松石','price'=>4900),
06.
array('name'=>'手表','brand'=>'卡西欧','price'=>960),
07.
array('name'=>'液晶电视','brand'=>'索尼','price'=>6299),
08.
array('name'=>'激光打印机','brand'=>'惠普','price'=>1200)
09.
);
10.
11.
$ShoppingList= array_sort($array,'price');
12.
print_r($ShoppingList);
上面是对$array这个二维数组按照'price'从低到高的排序。
输出结果:(略)。
更多:http://www.cnblogs.com/tjmsz/archive/2011/11/10/2244231.html
本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1325087,如需转载请自行联系原作者