zoukankan      html  css  js  c++  java
  • PHP二维数组排序研究

    前几天在项目中碰到了一个问题,在做商城的时候,要对一个店铺里所有商品进行价格排序,而且每一种商品都拥有多个规格,要取到所有商品中所有规格的最低价和最高价,发现PHP有很友好的函数帮助我们进行筛选。

    使用array_multisort函数进行二维数组排序:

    数组格式如下:

    $goods = array(
        0 => array(
            “id”=>1,
            “tag”=>array(
                “price”=>”10”,
                “old_price”=>”20”
             )
        ),
        1 => array(
            “id”=>2,
            “tag”=>array(
                “price”=>”30”,
                “old_price”=>”100”
            )
        ),
        2 => array(
            “id”=>3,
            “tag”=>array(
                “price”=>”25”,
                “old_price”=>”70”
            )
        ),
        3 => array(
            “id”=>4,
            “tag”=>array(
                “price”=>”15”,
                “old_price”=>”50”
            )
        )
    );            
    

      

    $goods是个商品集合,每一个商品带有一个idtag是该商品的规格,price是商品的售价,old_price是商品的原价,先在要对商品的售价进行排序,并取出最高售价和最低售价。

    $sort_arr = array();
    
    foreach($goods as $key => &$val){
    
        foreach($val[‘tag’ as $k => $v]{
    
            $val[‘goods_arr’][] = array(“price”=>$v[“price”],”old_price”=>$v[“old_price”]);
    
        })
    
        foreach($val[‘goods_arr’] as $v){
    
            $sort_arr[] = $v[‘price’];
    
        }
    
        array_multisort($sort_arr_sort,SORT_ASC,$val['goods_arr']);
        $val['price_min'] = $val['goods_arr'][0]['price'];
        $val['old_price_min'] = $val['goods_arr'][0][‘old_price’];
    				
        array_multisort($discount_sort,SORT_DESC,$val['goods_arr']);
        $val['price_max'] = $val['goods_arr'][0]['price'];
        $val['old_price_max'] = $val['goods_arr'][0]['old_price'];
    
    }
    

      

    这样就取到了该店铺中商品集合里每一种商品的最低售价和最高售价,在做一个店铺展示的时候也会得到每件商品的价格区间了。

    By as

      

  • 相关阅读:
    ubuntu16.04本地软件源搭建
    2080TI显卡ubuntu16.04机器学习安装和克隆
    PLSQL导入excel数据方法
    只有英伟达显卡输出口的电脑安装ubuntu系统记录
    百度人脸识别学习
    http application/x-www-form-urlencoded 模式响应学习
    JS中继承的几种实现方式
    浅拷贝和深拷贝
    防抖和节流
    HTML知识点总结
  • 原文地址:https://www.cnblogs.com/widgetbox/p/9564769.html
Copyright © 2011-2022 走看看