在PHP中我们对一维数组排序可以用sort(),asort(),arsort()等函数进行排序,但是PHP二维数组进行自定义排序可以使用以下函数。
演示代码:
[code=Php width=740px]
<?php
$temp = array(
array('name'=>'ipad','brand'=>'苹果','price'=>3500),
array('name'=>'thinkpad','brand'=>'联想','price'=>4800),
array('name'=>'电动车','brand'=>'绿源','price'=>2800),
array('name'=>'私家车','brand'=>'凯迪拉克','price'=>680000),
array('name'=>'洗衣机','brand'=>'海尔','price'=>4500),
array('name'=>'手机','brand'=>'小米','price'=>1999),
array('name'=>'冰箱','brand'=>'海尔','price'=>6000)
);
$ShoppingList = array_sort($temp ,'price','asc');
print_r($ShoppingList);
function array_sort($arr,$keys,$type){
$keysvalue = $new_array = array();
foreach ($arr as $k=>$v){
$keysvalue[$k] = $v[$keys];
}
if($type == 'asc'){
asort($keysvalue);
}else{
arsort($keysvalue);
}
reset($keysvalue);
foreach ($keysvalue as $k=>$v){
$new_array[$k] = $arr[$k];
}
return $new_array;
}
?>
[/code]
运行结果:
[code=Php width=740px]Array
(
[5] => Array
(
[name] => 手机
[brand] => 小米
[price] => 1999
)
[2] => Array
(
[name] => 电动车
[brand] => 绿源
[price] => 2800
)
[0] => Array
(
[name] => ipad
[brand] => 苹果
[price] => 3500
)
[4] => Array
(
[name] => 洗衣机
[brand] => 海尔
[price] => 4500
)
[1] => Array
(
[name] => thinkpad
[brand] => 联想
[price] => 4800
)
[6] => Array
(
[name] => 冰箱
[brand] => 海尔
[price] => 6000
)
[3] => Array
(
[name] => 私家车
[brand] => 凯迪拉克
[price] => 680000
)
)[/code]
上面是对$array这个二维数组按照'price'从低到高的排序。
|