Можно ли получить каждое число, делимое на 25000 между 2 значения в php. Например, мне дают Min цена 191000 и Максимум цена 432000. Я знаю, что могу сделать это, используя range()
если у меня есть предопределенный массив значений, но я уверен, что есть лучший способ сделать это. В основном, поэтому возвращаемые значения:
191000
200000
225000
...
425000
432000
Вы можете использовать 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, а затем использовать for
цикл, который увеличивается на 25 000:
$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
)
foreach(range(min, max) as $num){
if($num % 25000 == 0){
echo $num;
}
}
Вместо того, чтобы повторять 100 000 раз, вы можете объединить цикл for с некоторым округлением
$arr = [];
for($i = 191000; $i <= 432000; $i++) {
$i = ceil($i / 25000) * 25000;
if ($i > 432000) {
break;
}
$arr[] = $i;
}