我在計算PHP時遇到了一些問題。輸出回顯有錯誤的值。例如與3500的回聲,應該是475.相反,我得到一個525?我哪裏出錯了?計算後錯誤的輸出PHP
我正在嘗試創建一個系統來計算服務費用。費用將自動產生總和。對於2500歐元的第一部分,服務費將爲15%。對於第二部分(介於2500和5000之間),費用將爲10%等。我寫了下面的代碼,但是我的輸出(回顯)不正確。沒有exit;
它只是保持循環。我的代碼有什麼問題?有沒有人有一個建議。我是一個PHP新手BTW,所以任何幫助將不勝感激!
<?
### Sum ###
$som = 3500; // example sum 3500 (2500 first part 15%/1000 second part 10%)
/* Output should be with 3500 :
15% of 2500 = 375 + 10% of 1000 = 100 (part above 2500) TOTAL of 475.
My output is 525??? :s */
### 15% first 2500 ###
if ($som < 2500); {
$uitkomst = $som/100 * 15;
echo $uitkomst;
exit; }
### 10% between 2500 - 5000 ###
if ($som >2500 && $som < 5000); {
$iv1 = 2500/100 * 15;
$ts = $som - 2500;
$iv2 = $ts/100 * 10;
$iv1 + $iv2 = $uitkomst;
echo $uitkomst;
exit; }
### 5% between 5000 - 10.000 ###
if ($som >5000 && $som <10000); {
$iv1 = 2500/100 * 15;
$iv2 = 2500/100 * 10;
$ts = $som - 5000;
$iv3 = $ts/100 * 5;
$iv1 + $iv2 + $iv3 = $uitkomst;
echo $uitkomst;
exit; }
### 1% between 10.000 and 200.000 ###
if ($som >10000 && $som <200000); {
$iv1 = 2500/100 * 15;
$iv2 = 2500/100 * 10;
$iv3 = 5000/100 * 5;
$ts = $som - 10000;
$iv4 = $ts/100 * 1;
$iv1 + $iv2 + $iv3 + $iv4 = $uitkomst;
echo $uitkomst;
exit; }
### 0.5% over 200.000 ###
if ($som >200000); {
$iv1 = 2500/100 * 15;
$iv2 = 2500/100 * 10;
$iv3 = 5000/100 * 5;
$iv4 = 190000/100 * 1;
$ts = $som - 200000;
$iv5 = $ts/100 * 0.5;
$iv1 + $iv2 + $iv3 + $iv4 + $iv5 = $uitkomst;
echo $uitkomst;
exit; }
?>
你說你的腳本在沒有退出的情況下會一直運行嗎?你可以發佈你的循環結構嗎? – Kyle
你的$ uitkomst分配是倒退的。左操作數被設置爲右側表達式的值。 – lwitzel
這看起來很可怕,很難維護,你應該有一個關聯數組將百分比連接起來,並使用「while」循環,減去數量直到達到「0」。現在你正在重複自己很多事情,改變一個百分比或金額將需要大量的代碼更改。 – jeroen