php如果逻辑计算仅取第一部分值

时间:2015-03-10 01:01:04

标签: php if-statement logic

我尝试过一个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类型中的黑色空间来执行计算

0 个答案:

没有答案