2014-10-20 48 views
-3

我需要用這個腳本能夠從x + 20%= y解出x值。 y值在腳本中是已知的,所以x需要解決。PHP當x + 20%= 276時找到x的正確值

我試過用for循環做這個。

回聲$我應該輸出230,但此刻的腳本只是不返回任何內容(空白屏幕)

$amount = 276; 
for($i = 1; $i<300; $i++) { 
    if($i+20% == $amount) { 
     echo $i; 
    } 
} 
+9

這是基本的數學不是一個編程問題。 – Rimble 2014-10-20 13:28:15

+0

^這是一個編程問題,他的問題是變量不顯示(這是他的預期) – seanyt123 2014-10-20 13:28:51

+0

不是真的@ seanyt123 - 他只需要弄清楚如何做數學。 – 2014-10-20 13:29:27

回答

2

數學基礎:簡單地計算價值$i 120%:

if (($i/100)*120 == $amount) 

或者更好的是,計算$i值,如果你知道120%的值:

$i = ($amount/120)*100; 

哪個可被簡化爲:

$i = ($amount/12)*10; 
//same goes for the first snippet: 
if (($i/10)*12 == $amount) 
0
$amount = 276; 
for($i = 1; $i<300; $i++) { 
    if($i *1.20 == $amount) { 
     echo $i; 
    } 
} 
+0

瞭解運營商的PHP http://www.w3schools.com/php/php_operators.asp – Rimble 2014-10-20 13:30:59

1
$amount = 276; 
for($i = 1; $i<300; $i++) { 
    if(($i*=1.2) == $amount) { 
     echo $i; 
     break; 
    } 
} 
+0

如果發現金額,你真的應該'打破',繼續循環沒有意義 – 2014-10-20 13:34:29

+0

該任務也是無意義的。 'if($ i * 1.2)== $ amount' ... – 2014-10-20 14:02:33

0

關於數學:X + 20%= y等於X = Y - 0.20作爲百分號相當於倍0.01(那爲什麼100%== 1)

關於你發佈的代碼:如果我嘗試運行的代碼,我得到的錯誤:

PHP Parse error: syntax error, unexpected T_IS_EQUAL in ... 

問題在於%符號 - 這是在php模塊運算符中,它需要參數,例如echo 4%3它打印1,由3 devided整數除法4其餘爲1

所以,前面已經提到,你需要比較$ X * 1.2 $ Y:

$amount = 276; 
for($i = 1; $i<300; $i++) { 
if($i*1.20 == $amount) { 
     echo $i; 
    } 
}