商城价格区间

Posted 画个圈圈爱上你

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了商城价格区间相关的知识,希望对你有一定的参考价值。

<?php
/**
 * 
 */
class Goods

        
    /**
     * @brief 计算商品的价格区间
     * @param $min          最小价格
     * @param $max          最大价格
     * @param $showPriceNum 展示分组最大数量
     * @return array        价格区间分组
     */

    public function getGoodsPrice($min,$max,$showPriceNum = 5)

        $goodsPrice = array("min" => $min,"max" => $max);

        if($goodsPrice['min'] == null && $goodsPrice['max'] == null)
        
            return array();
        

        //计算商品价格区间

        $perPrice = ceil(($goodsPrice['max']-$goodsPrice['min'])/$showPriceNum);

        //返回数据组装    
        $result   = [];

        if($perPrice > 0)

            $result    = ['0-'.$perPrice]; //定义第一个区间 

            $stepPrice = $perPrice; 

            for ($addPrice = $stepPrice+1; $addPrice < $goodsPrice['max'];)  
                
                if(count($result) == $showPriceNum)

                    break;
                
                

                //下个区间结束值    
                $stepPrice = $addPrice + $perPrice;
                //除去首个数字外 剩下所有为 9     效果 2999
                $stepPrice = substr(intval($stepPrice), 0, 1).str_repeat('9',(strlen(intval($stepPrice)) - 1));

                $result[]  = $addPrice.'-'.$stepPrice; //下个区间段

                $addPrice  = $stepPrice + 1; // 下个区间开始 当前最大值 +1 

            
            //置换max价格  把数据最后的 值 替换为 最大值
            $result[count($result)-1] = str_replace("-".$stepPrice,"-".ceil($goodsPrice['max']),$result[count($result)-1]);

            return $result;
        
    

$price = new Goods();
$min = 85;
$max = 10056;
$num = 6;
$result = $price->getGoodsPrice($min, $max, $num);

var_dump($result);

// array (size=6)
//   0 => string '0-1662' (length=6)
//   1 => string '1663-3999' (length=9)
//   2 => string '4000-5999' (length=9)
//   3 => string '6000-7999' (length=9)
//   4 => string '8000-9999' (length=9)
//   5 => string '10000-10056' (length=11)

以上是关于商城价格区间的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 进阶教程汽车商城根据价格区间筛选车辆案例

PHP.30-TP框架商城应用实例-后台6-商品会员-价格级别

简单的购物商城功能

vivo全球商城-营销价格监控方案的探索

vivo商城计价中心 - 从容应对复杂场景价格计算

中继器-天猫商城商品列表