0

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

例子

$min = 849;
$max = 41259;

我的门槛是:

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

因此,如果我的最小值为 12000,则阈值中的第一个不会出现。尝试了几件事,但都没有奏效。任何帮助将不胜感激。

4

2 回答 2

0

一种解决方案是在 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/>";
}
于 2013-07-31T13:23:52.820 回答
0

我用下面的函数解决了这个问题。这适用于所有在上面评论中询问我做了什么的人。

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;
}
于 2013-07-31T14:56:13.200 回答