if ($postcode > 6999 && $postcode < 8000);
{
echo "Tasmania";
$postage_cost = "$22.50";
}
elseif ($postcode > 5999);
{
echo "Western Australia";
$postage_cost "$27.50";
}
elseif ($postcode > 4999);
{
echo "Southern Australia";
$postage_cost "$15.00";
}
这只是一个片段;
(!)解析错误:语法错误,第29行C:\ wamp \ www \ projects \ output.php中的意外'elseif'(T_ELSEIF)
我认为意想不到的会转到所有的elseif的
答案 0 :(得分:2)
您的代码中存在几个问题。
首先 - 在IF / ElSEIF语句后不要使用;
。它应该像
if ($postcode > 6999 && $postcode < 8000) {
echo "Tasmania";
$postage_cost = "$22.50";
} elseif ($postcode > 5999) {...
为什么呢?因为分号用于结束语句。因此,在IF / ELSE / ELSEIF语句之后立即将其置为空。在IF之后写;
将与写入相同(除了您可以将结果分配给变量):
$foo = ($postcode > 6999 && $postcode < 8000); //$foo would be true or false
第二 - 缺少一些赋值运算符:
$postage_cost = "$27.50"; // Note the =
解决这些问题,你应该好好去:)
答案 1 :(得分:1)
您已将分号添加到每个if else条件中删除;
此外,您还没有将=
放入某行,因此请添加该分号。您可以尝试以下代码
if ($postcode > 6999 && $postcode < 8000) {
echo "Tasmania";
$postage_cost = "$22.50";
}
elseif ($postcode > 5999) {
echo "Western Australia";
$postage_cost = "$27.50";
}
elseif ($postcode > 4999) {
echo "Southern Australia";
$postage_cost = "$15.00";
}
答案 2 :(得分:0)
在你的if条件之后一定不能有冒号。删除它们,它将工作:
if ($postcode > 6999 && $postcode < 8000) {
echo "Tasmania";
$postage_cost = "$22.50";
} elseif ($postcode > 5999) {
echo "Western Australia";
$postage_cost = "$27.50";
} elseif ($postcode > 4999) {
echo "Southern Australia";
$postage_cost = "$15.00";
}
答案 3 :(得分:0)
试试这个
if (($postcode > 6999) && ($postcode < 8000))
{
echo "Tasmania";
$postage_cost = '$22.50';
}
elseif ($postcode > 5999)
{
echo "Western Australia";
$postage_cost='$27.50';
}
elseif ($postcode > 4999)
{
echo "Southern Australia";
$postage_cost='$15.00';
}
答案 4 :(得分:0)
从中删除semicolon
和 elseif 语句
所以代码看起来像这样
if ($postcode > 6999 && $postcode < 8000) {
echo "Tasmania";
$postage_cost = "$22.50";
}
elseif ($postcode > 5999) {
echo "Western Australia";
$postage_cost = "$27.50";
}
elseif ($postcode > 4999) {
echo "Southern Australia";
$postage_cost = "$15.00";
}