啊哈磊_编程从这里起步

标题: PHP二维数组排序 按照 指定项的值排序 [打印本页]

作者: 啊哈磊    时间: 2013-2-23 17:19
标题: PHP二维数组排序 按照 指定项的值排序
在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'从低到高的排序。

作者: lonhanM66    时间: 2015-5-12 16:36
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2