【问题标题】:PHP Calculator OperatorPHP 计算器运算符
【发布时间】:2015-02-20 11:09:24
【问题描述】:

我的 PHP 代码有一个非常可怕的问题。如果我使用运算符“+”或“-”,程序不会显示完整的计算。 我想看到的(与运算符“*”和“/”一起使用): 1+3=4 我所看到的: 4 函数和 if 查询中的代码完全相同(除了“+”而不是“/”)。PHP 不会在 /var/log 文件中给我错误。 我怎样才能巧妙地解决这个问题?

最好的问候!

我的密码:

<?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']);
}
?>

【问题讨论】:

  • 可以用括号分隔实际操作:echo $a."/".$b."=".($a/$b);

标签: php function calculator


【解决方案1】:

添加括号,因为默认的运算符优先级不能满足您的需要:

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);
    }
    

    【讨论】:

    • @Harald Wiesinger.+- 具有相同的优先级,在 php 文档评论中指出,请参阅 this 以获得进一步的解释。这个答案应该有效......
    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 2015-09-28
    • 1970-01-01
    • 2011-01-13
    相关资源
    最近更新 更多