我有一个这样的清单:
<f:option1>0</f:option1>
<f:option2>50 000</f:option2>
<f:option3>100 000</f:option3>
<f:option4>150 000</f:option4>
<f:option5>200 000</f:option5>
<f:option6>250 000</f:option6>
<f:max_value>150 000</f:max_value>
<f:min_value>0</f:min_value>
<f:value1>1,50</f:value1>
<f:value2>2,00</f:value2>
<f:value3>3,00</f:value3>
<f:value4>4,00</f:value4>
<f:value5>5,00</f:value5>
<f:value6>6,00</f:value6>
此列表一直在变化,我想编写一个if语句来获取正确的值
$target_option = 50 000;//Should get me $target_value = 2,00
if (($option6 > 0) && ($option6 <= $target_value) && ($min_value <= $target_value) && ($max_value => $target_value)){
$target_value = $value6;
}elseif (($option5 > 0) && ($option5 <= $target_value) && ($min_value <= $target_value) && ($max_value => $target_value)){
$target_value = $value5;
}elseif (($option4 > 0) && ($option4 <= $target_value) && ($min_value <= $target_value) && ($max_value => $target_value)){
$target_value = $value4;
}elseif (($option3 > 0) && ($option3 <= $target_value) && ($min_value <= $target_value) && ($max_value => $target_value)){
$target_value = $value3;
}elseif (($option2 > 0) && ($option2 <= $target_value) && ($min_value <= $target_value) && ($max_value => $target_value)){
$target_value = $value2;
}elseif (($option1 > 0) && ($option1 <= $target_value) && ($min_value <= $target_value) && ($max_value => $target_value)){
$target_value = $value1;
}
任何人都会看到我做错了什么,或者是否有更好的方法可以做到这一点?
在此处查看完整代码:http://pastebin.com/5pfh4JzF
在另一个声明中发现错误。
答案 0 :(得分:0)
有2个错误
1
$target_option = 50 000;
应该
$target_option = 50000; // no spaces
2
每个人的最后陈述
($max_value => $target_value)
应该是
($max_value >= $target_value)
使用任何代码编辑器来避免此类错误