我尝试过一个php if语句,该语句应该计算基于2个参数的值: -
价格
燃料 - 汽油或柴油或液化石油气或压缩天然气
然而 - 在执行代码时 - 它只计算燃料类型不是柴油时的值
例如,当价格低于600000且燃料是柴油时 - 它仍在计算.04税。你能否就代码中的错误提出建议?我尝试过重做 - 但无法得到答案
以下是代码
<?php
$a = $this->prodDet->v_price;
$b = $this->prodDet->v_fuel_type;
if(($a < 600000) && ($b != 'Diesel'))
{
$calculatedtax = (.04*$a);
echo($calculatedtax);
}
else if(($a < 600000) && ($b == 'Diesel'))
{
$calculatedtax = (.05*$a);
echo($calculatedtax);
}
else if((($a >= 600000) and ($a < 1000000)) and ($b != 'Diesel'))
{
$calculatedtax = (.07*$a);
echo($calculatedtax);
}
else if((($a >= 600000) and ($a < 1000000)) and ($b == 'Diesel'))
{
$calculatedtax = (.0875*$a);
echo($calculatedtax);
}
else if((($a >= 1000000)) and ($b != 'Diesel'))
{
$calculatedtax = (.10*$a);
echo($calculatedtax);
}
else if((($a >= 1000000)) and ($b == 'Diesel'))
{
$calculatedtax = (.125*$a);
echo($calculatedtax);
}
?>
更新 我检查了数据库值 在某些领域,Diesel之后还有一片空白 例如
燃料类型=柴油(柴油字之后还有一个空格) 燃料类型=汽油(柴油字之后还有一个空格)
删除此空格时 燃料类型=柴油(柴油字后无空格) 燃料类型=汽油(汽油字后没有空格)
计算正确发生
php逻辑也改变了一下
else if((($a >= 1000000)) and ($b == 'Petrol'))
{
$calculatedtax = (.10*$a);
echo($calculatedtax);
}
else if((($a >= 1000000)) and ($b == 'Diesel'))
{
$calculatedtax = (.125*$a);
echo($calculatedtax);
}
有人可以建议如何纠正php if语句逻辑 - 这样可以通过忽略Fuel类型中的黑色空间来执行计算