-3

我有一个这样的列表:

<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

编辑 2

在另一条语句中发现错误。

4

1 回答 1

0

有2个错误

1

$target_option = 50 000;

应该是

$target_option = 50000; // no spaces

2

他们每个人的最后陈述

($max_value => $target_value)

应该

($max_value >= $target_value)

使用任何代码编辑器来避免此类错误

http://netbeans.org/downloads/

于 2013-03-13T12:38:24.767 回答