获取两个值之间的每个x数字

时间:2014-09-23 16:36:24

标签: php range

是否有可能在php中的 2 值之间将每个数字除以 25000 。例如,我的最低价格为 191000 最高价格为 432000 。我知道如果我有一个预先定义的值数组,我可以使用range()执行此操作,但我确信有更好的方法可以执行此操作。基本上返回的值是:

191000
200000
225000
...
425000
432000

3 个答案:

答案 0 :(得分:4)

您可以使用for循环(或@mschuett在foreach上使用range(),然后使用模数运算符(%)来查看数字是否为可以被25,000整除:

$numbers = array();
for($i = $min; $i <= $max; $i++) {
    if($i % $divisible === 0) $numbers[] = $i;
}
print_r($numbers);

或者你可以找到第一个可被25,000整除的数字,然后使用一个增加25,000的for循环:

$base = ceil($min / $divisible) * $divisible;
for($i = $base; $i <= $max; $i += $divisible) {
    $numbers[] = $i;
}
print_r($numbers);

显然,在两个示例中$min$max$divisible都需要定义。两个例子都输出:

Array
(
    [0] => 200000
    [1] => 225000
    [2] => 250000
    ...
    [9] => 425000
)

答案 1 :(得分:1)

foreach(range(min, max) as $num){
    if($num % 25000 == 0){
        echo $num;
    }
}

答案 2 :(得分:1)

您可以将for循环与某些舍入结合起来,而不是循环100,000次。

$arr = [];
for($i = 191000; $i <= 432000; $i++) {
    $i = ceil($i / 25000) * 25000;
    if ($i > 432000) {
        break;
    }
    $arr[] = $i;
}