我陷入瞭解決PHP腳本的困境。以計算器爲詞的PHP計算器
我想計算一組指令的結果。說明由每行空格分隔的關鍵字和數字組成。指令從文件加載並將結果輸出到屏幕。可以指定任意數量的指令。指令是操作符(添加,除,減,乘)。說明將忽略數學優先級。最後一條指令應該是「apply」和一個數字(例如「apply 3」)。計算器隨後用該號碼初始化,並將前面的指令應用於該號碼。
[Input]
add 2
multiply 3
apply 3
[Output]
15
[說明] (3 + 2)* 3 = 15
例如
[Input]
multiply 9
apply 5
[Output]
45
任何人都可以用一些示例邏輯或代碼幫助?
這是我到目前爲止已經試過:
class calculator {
public
function calculate($expression) {
$expression = str_replace(' ', '', $expression);
return $this - > exec($expression);
}
private
function exec($expression) {
switch ($expression['op']) {
case 'add':
$r = $expression[0] + $expression[1];
break;
case 'subtract':
$r = $expression[0] - $expression[1];
break;
case 'multiply':
$r = $expression[0] * $expression[1];
break;
case 'divide':
$r = $expression[0]/$expression[1];
break;
}
return $r;
}
private
function parseExpression($expression) {
$blankspace = preg_match('/\s/', $expression);
$counter = count($expression);
}
}
所以基本上它是從左到右,除了堅持前面的「申請X」?什麼是輸入範圍? – Raekye
raekye謝謝你的時間,輸入是textarea每條指令是在一個行中,下一個必須在一個新行(例如:乘以5然後新行添加6然後新行apply3)我怎麼能實現這 – user888300
你試過什麼?似乎你只是要求某人爲你編碼。 – Supericy