意外的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";
}

这只是一个片段;

(!)解析错误:语法错误,意外的'elseif'(T_ELSEIF)在C: wamp www projects output.php上在第29行

我假设意想不到的会去所有的elseif's


你的代码中有几个问题。

首先 - 不要使用; 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 =

修复这些,你应该很好去:)


你已经把分号放在每个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";
    }

ifelseif语句中删除semicolon

所以代码看起来像这样

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";
}
链接地址: http://www.djcxy.com/p/69853.html

上一篇: Unexpected elseif

下一篇: Parse error: syntax error, unexpected '{' in C:\wamp\www\reg.php