Php 否则,如果不起作用”;意外';{&“x27;在直线上…”;

Php 否则,如果不起作用”;意外';{&“x27;在直线上…”;,php,if-statement,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")

尝试执行一些简单的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";
    }

}
?>
代码:

else语句不能包含条件

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

不是有效的语句。您需要使用:

elseif ($tax >= "198700")
或:

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

elseif ($tax >= "8900" && $tax < "198700")
elseif($tax>=“8900”和&$tax<“198700”)
还有几件至少要检查的事情:

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

else语句不应包含该条件

当所有条件变为FALSE时,它作为默认块工作

见文件:

如果您需要评估编码方式上的块

else ($tax >= "198700")
将此更改为:

else if ($tax >= "198700")

else
不能有条件。来吧。为什么这么多反对票投给一个新手?别粗鲁。嗯,太好了。多亏了反对票的唠叨,现在有四个赞成票了?有人想解释一下,为什么语法错误问题现在会受到鼓励,而OPs方面没有明显的研究或尝试来解决它吗?
else ($tax >= "198700")
else if ($tax >= "198700")