我想在PHP中使用switch语句区分以下几种情况。 有人可以帮助并告诉我如何更改它以使其使用数值范围(整数)?
到目前为止,我有以下内容但是由于范围的原因,我猜这需要修改:
switch($myVar)
{
case(<0):
// do stuff
break;
case(<10):
// do stuff
break;
case(<20):
// do stuff
break;
case(<30):
// do stuff
break;
case(<999):
// do stuff
break;
default:
// do stuff
break;
}
非常感谢任何帮助,蒂姆
答案 0 :(得分:2)
你可以这样做:
$myVar = 50;
switch (true) {
case($myVar < 0):
// do stuff
break;
case($myVar < 10):
// do stuff
break;
case($myVar < 20):
// do stuff
break;
case($myVar < 30):
// do stuff
break;
case($myVar < 999):
// do stuff
break;
default:
// do stuff
break;
}
在the manual的评论中有一些很好的例子。
答案 1 :(得分:1)
使用in_array($myVar,range(100,200))
检查值是否存在于范围内。
$myVar = 50;
switch (true) {
case(in_array($myVar,range(0,10))):
// do stuff
break;
case(in_array($myVar,range(20,30))):
// do stuff
break;
case(in_array($myVar,range(30,900))):
// do stuff
break;
default:
// do stuff
break;
}