Warning: Error while sending QUERY packet. PID=5477 in /home/wwwroot/coco/domain/cnlamp/web/wp-includes/wp-db.php on line 1924 php 三维数组排序函数 | LAMP新闻|技巧|经验|资讯站
现在的位置: 首页PHP>正文
php 三维数组排序函数
发表于5年前 PHP 暂无评论
/*
*三维数组排序
*@param $arr array 要执行排序的数组
*@param $keys string 需要根据其值排序的健名
*@param $type string 倒序或者正序排列,默认asc,正序排列
*@return $array 排序完成的数组
*/
function array_sort($arr,$keys,$type='asc'){
    $keysvalue = $new_array = array();
    foreach ($arr as $k=>$vs){
        foreach($vs as $ks =>$v){
            $keysvalue[$k."-".$ks] = $v[$keys];
        }
    }
    if($type == 'asc'){
        asort($keysvalue);
    }
    else{
        arsort($keysvalue);
    }
    reset($keysvalue);
    foreach ($keysvalue as $k=>$v){
        $karr = explode("-",$k);
        $new_array[$karr[0]][$karr[1]] = $arr[$karr[0]][$karr[1]];
    }
    return $new_array;
}

例子:

$array = array(4=>
    array(1=>
        array('name'=>'手机','price'=>1050),
    ),
    array(2=>
        array('name'=>'手机',,'price'=>1650),
    ),
);
//根据价格正序排列
$ShoppingList = array_sort($array,'price');
print_r($ShoppingList);

给我留言

留言无头像?


×
腾讯微博