if语句的问题

时间:2013-03-13 12:24:29

标签: php if-statement

我有一个这样的清单:

<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

在另一个声明中发现错误。

1 个答案:

答案 0 :(得分: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/