php if逻辑计算仅取第一部分值
我尝试了一个php if语句,它应该根据2个参数计算值:- 价格 燃料-汽油或柴油或液化石油气或CNG 但是,在执行代码时,它仅在燃油类型不是柴油时计算值 例如,当价格低于60万美元,燃料是柴油时,它仍然在计算0.04税。你能就代码中的错误提出建议吗。我试过返工,但没有得到答复 下面是代码php if逻辑计算仅取第一部分值,php,if-statement,logic,Php,If Statement,Logic,我尝试了一个php if语句,它应该根据2个参数计算值:- 价格 燃料-汽油或柴油或液化石油气或CNG 但是,在执行代码时,它仅在燃油类型不是柴油时计算值 例如,当价格低于60万美元,燃料是柴油时,它仍然在计算0.04税。你能就代码中的错误提出建议吗。我试过返工,但没有得到答复 下面是代码 <?php $a = $this->prodDet->v_price; $b = $this->prodDet->v_fuel_type; if(($
<?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);
}
?>
有人能建议如何更正php if语句逻辑吗?这样可以通过忽略Fuel type中的黑色空格来执行计算我已经测试了代码,它对我来说是正确的。尝试测试$a和$b的硬编码值。var_dump(“Diesel”==“Diesel”);//bool(false)@Sectus-什么是var_dump-如何集成。它会对@Joerg,@Sectus产生什么影响-我发现了错误并更新了问题。这是由于数据库中燃油类型后的空白,您能否建议现在如何更正计算?您是否尝试使用
trim($b)
?
else if((($a >= 1000000)) and ($b == 'Petrol'))
{
$calculatedtax = (.10*$a);
echo($calculatedtax);
}
else if((($a >= 1000000)) and ($b == 'Diesel'))
{
$calculatedtax = (.125*$a);
echo($calculatedtax);
}