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