Php 获取两个值之间的每x个数
在php中,是否有可能在2值之间获得每个可被25000整除的数字。例如,我得到的最低价格是191000,最高价格是432000。我知道,若我有一个预定义的值数组,我可以使用Php 获取两个值之间的每x个数,php,range,Php,Range,在php中,是否有可能在2值之间获得每个可被25000整除的数字。例如,我得到的最低价格是191000,最高价格是432000。我知道,若我有一个预定义的值数组,我可以使用range()来实现这一点,但我确信有更好的方法来实现。基本上,返回的值是: 191000 200000 225000 ... 425000 432000 您可以使用for循环(或@mschuett在范围()上使用foreach),然后使用模运算符(%)查看该数字是否可被25000整除: $numbers = array()
range()
来实现这一点,但我确信有更好的方法来实现。基本上,返回的值是:
191000
200000
225000
...
425000
432000
您可以使用
for
循环(或@mschuett在范围()上使用foreach
),然后使用模运算符(%
)查看该数字是否可被25000整除:
$numbers = array();
for($i = $min; $i <= $max; $i++) {
if($i % $divisible === 0) $numbers[] = $i;
}
print_r($numbers);
$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
)
您可以使用for
循环(或@mschuett在范围()上使用foreach
),然后使用模运算符(%
)查看该数字是否可被25000整除:
$numbers = array();
for($i = $min; $i <= $max; $i++) {
if($i % $divisible === 0) $numbers[] = $i;
}
print_r($numbers);
$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
)
您可以将for循环与一些舍入相结合,而不是循环100000次
$arr = [];
for($i = 191000; $i <= 432000; $i++) {
$i = ceil($i / 25000) * 25000;
if ($i > 432000) {
break;
}
$arr[] = $i;
}
$arr=[];
对于($i=191000;$i 432000){
打破
}
$arr[]=$i;
}
您可以将for循环与舍入相结合,而不是循环100000次
$arr = [];
for($i = 191000; $i <= 432000; $i++) {
$i = ceil($i / 25000) * 25000;
if ($i > 432000) {
break;
}
$arr[] = $i;
}
$arr=[];
对于($i=191000;$i 432000){
打破
}
$arr[]=$i;
}
啊,我现在觉得自己好笨。哈哈,谢谢你的回答!“我会尽快接受的。”杰夫托马斯我补充了第二个例子。它不像最初的答案那么明显,但它会稍微更有效,因为它只需要做一个数学运算,并通过一组小得多的数字进行循环。如果你需要解释,请告诉我。@Sam+1对于第二个例子,比第一个更有效。我不知道你想要最小/最大值。很高兴我能帮上忙:)啊,我现在感觉好傻。哈哈,谢谢你的回答!“我会尽快接受的。”杰夫托马斯我补充了第二个例子。它不像最初的答案那么明显,但它会稍微更有效,因为它只需要做一个数学运算,并通过一组小得多的数字进行循环。如果您需要解释,请告诉我。@Sam+1对于第二个示例,比第一个示例更有效。我不知道您想要最小/最大值。很高兴我能提供帮助:)很好地使用range()
,即使在OP中也没有想到它。很好地使用range()
,即使在OP中也没有想到它。有趣的逻辑,这是我两个例子的结合+1有趣的逻辑,是我两个例子的结合+1.