ELSE如果不工作“意外'{'排队......”

时间:2014-01-26 06:50:21

标签: php if-statement

尝试做一些简单的if语句,但得到“意外{”。我在发生错误的代码中添加了注释。任何提示?

Code:

<?php
if(isset($_GET['tax'])) {
$tax = $_GET['tax'];

if ($tax < "8900")
 {
    echo "Du behöver inte betala någon skatt";
    }
    elseif ($tax > "8900" && $tax < "198700")
    {
        echo "Du behöver att betala 100 SEK i skatt";
    }
    else ($tax >= "198700")
    { //ERROR OCCURS HERE
        echo "You have to pay (100+(0.2*$tax)) i skatt";
    }

}
?>

3 个答案:

答案 0 :(得分:4)

else ($tax >= "198700")

不是有效的声明。您需要使用:

elseif ($tax >= "198700")

或:

else // ($tax >= "198700")

后者可以,假设您解决了8900处发生的问题(目前它与前两个都不匹配)。你可能想要:

elseif ($tax >= "8900" && $tax < "198700")

至少要检查其他几件事:

  • 我不是完全确定你在最后echo中从瑞典语切换到英语的原因 - 这似乎是不协调的。
  • 如前所述,您似乎在8900处有一个“漏洞”。
  • 不确定 string 比较是否可以在此处正常运行。 PHP 可能会处理它,但在某些情况下,"10"小于"2"
  • 我也很确定你的字符串插值不会像你期望的那样工作。您可能需要在字符串($pay = $tax / 5 + 100;)的上下文之外计算它并插入 echo "Du behöver att betala $pay i skatt";)。

答案 1 :(得分:1)

else 语句不能包含条件。

将您的else ($tax >= "198700")更改为elseif($tax >= "198700")

答案 2 :(得分:1)

else语句不应包含Condition。

当所有条件都变为FALSE时,它将作为默认块。

请参阅文档:http://www.php.net/manual/en/control-structures.elseif.php

如果你需要评估关于编码的块,

else ($tax >= "198700")

将其更改为:

else if ($tax >= "198700")