给定两个值$min
和$max
,我想创建一个价格范围供用户选择。
例子
$min = 849;
$max = 41259;
我的门槛是:
<10K
10K to 25K
25K to 40K
40K+
因此,如果我的最小值为 12000,则阈值中的第一个不会出现。尝试了几件事,但都没有奏效。任何帮助将不胜感激。
一种解决方案是在 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/>";
}
我用下面的函数解决了这个问题。这适用于所有在上面评论中询问我做了什么的人。
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;
}