0

我想在 PHP 中使用 switch 语句来区分以下情况。 有人可以在这里帮助并告诉我如何更改它以使其与数字范围(整数)一起使用吗?

  • $myVar < 0
  • $myVar < 10
  • $myVar < 20
  • $myVar < 30
  • $myVar < 999
  • 默认

到目前为止,我有以下内容,但猜想这需要修改,因为范围:

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;
}

非常感谢您对此的任何帮助,蒂姆

4

2 回答 2

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;
}

在手册的评论中有几个很好的例子。

于 2014-02-11T20:41:27.417 回答
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;
}
于 2014-02-11T20:46:51.580 回答