【问题标题】:Create a price range from given min and max values从给定的最小值和最大值创建价格范围
【发布时间】:2013-07-31 13:17:14
【问题描述】:

给定两个值$min$max,我想创建一个价格范围供用户选择。

示例

$min = 849;
$max = 41259;

我的门槛是:

<10K
10K to 25K
25K to 40K
40K+

所以,如果我的最小值是 12000,那么阈值中的第一个就不会出现。尝试了几件事,但都没有奏效。任何帮助将不胜感激。

【问题讨论】:

  • 有什么理由不在您的帖子中包含 尝试过的几件事
  • 我尝试了一些有效的方法,向我们展示什么无效,我们可以向您展示如何让它发挥作用
  • 好吧,我们不是来为你考虑的。
  • if (){ ... }elseif () { ... }
  • @ravisoni 我不需要你告诉我。有更好的方法来提出问题或要求更新问题。

标签: php range


【解决方案1】:

一种解决方案是在 PHP 中使用 for 循环。

$min = 123;
$max = 345;
for($i=$min;$i<$max;$i++){
    echo $i."<br/>";
}

将 $min 更改为最小值,将 $max 更改为最大值。

更新:

如果您希望自己的第一个和最后一个(即最小值和最大值)不显示。您可以使用此代码

$min = 123+1;
$max = 345-1;
for($i=$min;$i<$max;$i++){
    echo $i."<br/>";
}

【讨论】:

    【解决方案2】:

    我用下面的函数解决了这个问题。这是给所有在上面的 cmets 中询问我做了什么的人。

    function getPriceFilter( $min, $max ) {
        $min = ( int ) str_replace( ',', '', $min );
        $max = ( int ) str_replace( ',', '', $max );
    
        $result = array();
    
        $limit = array(
            10000 => array(
                'Less than 10,000',
                '0^10000'),
            25000 => array(
                '10,001 to 25,000',
                '10001^25000'),
            40000 => array(
                '25,001 to 40,000',
                '25001^40000'),
            40001 => array(
                '40,000+',
                '40001^1000000')
        );
    
        $minCheck = 0;
        foreach( $limit as $key => $check ) {
            if( ! $minCheck ) {
                if( $min <= $key ) {
                    $result[] = $check;
                    $minCheck = 1;
                }
            } else {
                if( $max >= $key ) {
                    $result[] = $check;
                }
            }
        }
    
        return $result;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 2014-03-22
      • 1970-01-01
      • 1970-01-01
      • 2016-08-31
      • 1970-01-01
      • 2018-11-29
      相关资源
      最近更新 更多