使用Php计算费用 - 如果:
$make
=车辆制作
$prod
=车辆型号
那么它应该显示适当的费用。但是我的代码总是在第一个条目中显示费用。
例如,如果代码第一个条目的格式为Mahindra
,则它将在所有产品$l
,8150
,{Mahindra
中回显Maruti
Mercedes Benz
{1}},Toyota
等。代码不尊重逻辑。
如果第一个条目被Tata
替换,那么它将回显7500
,尽管有任何产品Mahindra
,Maruti
,Mercedes Benz
,{{1} },Toyota
等。
任何帮助都将不胜感激。
修改代码
Tata
答案 0 :(得分:1)
尝试使用嵌套if
语句的函数:
// If you use false as default values, it will not throw an error if
// either value is left empty
function FetchLogistics($make = false,$prod = false)
{
// Account for case. Make it all lower so it's all the same
$make = strtolower($make);
$prod = strtolower($prod);
if($make == "mahindra")
return 8150;
elseif($make == "maruti suzuki")
return 1500;
// Just check once for make
elseif($make == "skoda") {
// Check for models now
if($prod == "rapid")
return 8000;
elseif($prod == "octavia")
return 10000;
}
elseif($make == "renault") {
if($prod=="duster")
return 8500;
}
elseif($make == "tata")
return 7500;
elseif($make == "volkswagen")
return 7000;
elseif($make == "toyota")
return 5750;
elseif($make == "mercedes benz")
return 35000;
// No matches will return false (empty)
return false;
}
// Verify these two values are what you expect
$make = trim($this->prodDet->CatName);
$prod = trim($this->prodDet->product);
// Echo the returned value.
echo FetchLogistics($make,$prod);