抱歉,我的问题可能很愚蠢,但是当我有一些值为 0(零)的 int 变量时,我遇到了一个巨大的问题。
switch ($starost_vozila){
case (0):
switch ($podaci['tip_motora']){
case ("motor1"):
$eko_taksa = 485;
break;
case ("motor2"):
$eko_taksa = 243;
break;
case ("motor3"):
$eko_taksa = 121;
break;
case ("motor4"):
$eko_taksa = 194;
break;
}
break;
case ($starost_vozila < 6):
switch ($podaci['tip_motora']){
case ("motor1"):
$eko_taksa = 485;
break;
case ("motor2"):
$eko_taksa = 243;
break;
case ("motor3"):
$eko_taksa = 121;
break;
case ("motor4"):
$eko_taksa = 194;
break;
}
break;
case ($starost_vozila > 5 && $starost_vozila < 11):
switch ($podaci['tip_motora']){
case ("motor1"):
$eko_taksa = 667;
break;
case ("motor2"):
$eko_taksa = 273;
break;
case ("motor3"):
$eko_taksa = 136;
break;
case ("motor4"):
$eko_taksa = 218;
break;
}
break;
切换继续更多,但这是我的问题,在这段代码中。
如果我不输入“case (0):”并使用这个:
case ($starost_vozila >= 0 && $starost_vozila < 6):
然后接下来的情况将以某种方式变得活跃,并且它将打印出“$eko_taksa = 667;”。
当“$starost vozila = 0”时,这就是所有问题,但当它是小于 6 的任何数字时,上面的情况就会起作用。
这里的每个 var 都是 int。一切正常,除非“$starost_vozila = 0”当我使用时“案例($starost_vozila >= 0 && $starost_vozila
我不知道发生了什么......哦
抱歉,如果这是一个愚蠢的问题。 :(
switch case 不接受需要评估的语句。它们采用简单的字符串、布尔值或数字进行比较
所以说你有
$x = 0
switch( $x ) {
case( $x < 10 ):
...
break;
}
您期望该案件能够审理,但事实并非如此,原因如下
( $x < 10 )
评估为true
所以你实际上拥有的是:
$x = 0
switch( $x ) {
case true: //!!!
...
break;
}
0 != true
所以案子失败了
你需要使用
if() {
} else if() {
} else {
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)