2014-12-22 106 views
1

我的PHP代碼非常可怕的問題。如果我使用操作符「+」或「 - 」,程序不會顯示完整的計算結果。 我想看到的(與運營商「*」和「/」一起工作): 1 + 3 = 4 我看到:它在函數和if-查詢中的代碼完全相同的「+」而不是「/」).PHP不會給我/ var/log文件中的錯誤。 我該如何解決這個問題?PHP計算器操作員

此致敬禮!

我的代碼:

<?php 
function addition($a, $b) { 
    echo $a . "+" . $b . "=" . $a + $b; 
} 

function subtraktion($a, $b) { 
    echo $a . "-" . $b . "=" . $a - $b; 
} 

function multiplikation($a, $b) { 
    echo $a . "*" . $b . "=" . $a * $b; 
} 

function division($a, $b) { 
    echo $a . "/" . $b . "=" . $a/$b; 
} 

if (($_GET['op']) == "+") { 
    addition($_GET['azahl'], $_GET['bzahl']); 
} 
if (($_GET['op']) == "-") { 
    subtraktion($_GET['azahl'], $_GET['bzahl']); 
} 
if (($_GET['op']) == "*") { 
    multiplikation($_GET['azahl'], $_GET['bzahl']); 
} 
if (($_GET['op']) == "/") { 
    division($_GET['azahl'], $_GET['bzahl']); 
} 
?> 
+0

你可以分開實際操作w括號:'echo $ a。「/」。$ b。「=」。($ a/$ b);' –

回答

2

添加括號,因爲默認的運算符優先級沒有你所需要的:

function addition($a,$b) 
{ 
    echo(($a."+".$b."=").($a+$b)); 
} 
2

您可以在參數投(string)和括號封裝:

function addition($a,$b) 
{ 
    echo (string)$a."+".(string)$b."=".($a+$b); 
} 
function subtraktion($a,$b) 
{ 
    echo (string)$a."-".(string)$b."=".($a-$b); 
} 
function multiplikation($a,$b) 
{ 
    echo (string)$a."*".(string)$b."=".($a*$b); 
} 
function division($a,$b) 
{ 
    echo (string)$a."/".(string)$b."=".($a/$b); 
} 
+0

@Harald Wiesinger'.'和'+'或'-'具有相同的優先級,在一個php文檔評論中,請參閱[this](http://php.net/manual/en/language.operators.string.php#41950)以進一步解釋。這個答案應該工作... – n00dl3