我在PHP中遇到了一个我无法解决的问题。PHP:数学问题
我有具有值5000的可变我需要该变量分割带有的300的值。例如:
$var = ceil (5000/300);
这将导致17.我需要生成的300组和发现其余的。例如:
$var1 = 300;
$var2 = 300;
.
.
.
$varX = 200; //rest
数字5000和300是动态的,所以我不能手动完成。
有谁知道我该怎么做?
我在PHP中遇到了一个我无法解决的问题。PHP:数学问题
我有具有值5000的可变我需要该变量分割带有的300的值。例如:
$var = ceil (5000/300);
这将导致17.我需要生成的300组和发现其余的。例如:
$var1 = 300;
$var2 = 300;
.
.
.
$varX = 200; //rest
数字5000和300是动态的,所以我不能手动完成。
有谁知道我该怎么做?
只需使用modulus operator得到除法运算的余数:如果你想在剩余
$x = 5000;
$y = 300;
$varX = $x % $y; // $varX = 200
,使用mod运算符,%
。例如。 5000%300 = 200
你可能寻找模运算符,这是often but not always %
:
蟒蛇:
>>> 1500/200 ; 1500 % 200
7
100
红宝石:
irb(main):002:0> puts 1500/200 ; puts 1500 % 200
7
100
erlang:
1> 1500 div 200.
7
2> 1500 rem 200.
100
php:
echo (5 % 3)."\n"; // prints 2
你找待办事项这样的事情(循环5000X再放入分贝时,回路达到300)
<?php
for($i=0;$i<5000;$i++){
$x = $i;
$y = 300;
$varX = $x % $y;
if($varX==299){echo 'Put In db<br>';}
}
?>
我不太确定你想要什么,但似乎你可能想要一个数组,加上使用mod运算符。
$varX = 5000;
$varY = 300;
$varQuotient = (int)($varX/$varY);
填充的阵列的元素$varQuotient
与$varY
。这将使你得到你300人的团体。阵列的最后一个元素将是$varX % $varY
(除非它是0,在这种情况下,因为$varY
除以$varX
而被省略)。这是你寻找的东西的类型吗?
如果你坚持使用一个循环,这是可以做到这样:
$x=5000;
$y=300;
while($x % $y !=0) {
// do anything you need here...
$x-=$y;
}
// $x finally contains the rest
1)目前尚不清楚你想做什么 - 试图解释更好。 2)这是功课吗? – Jon 2011-03-19 02:25:50