我在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