2

我需要对变量进行多次检查。我在这里看到了一个“Equals”示例:w3schools。但它们是两个不同的变量。现在我有:

if ($color == 'blue')
{
//do something
}

但我需要对 $color 进行多次检查。例如,如果它也等于红色或绿色。这是怎么写的?

4

3 回答 3

9

很简单:

if ($color == 'blue' || $color == 'red' || $color == 'green') {
    //do something
}

还有其他几个选项。使用switch运算符:

switch ($color) {
    case 'blue':
    case 'red':
    case 'green':
        //do something
}

或更复杂的使用in_array函数:

$colors = array('blue', 'red', 'green');
if (in_array($color, $colors)) {
    //do something
}
于 2012-05-06T21:58:36.873 回答
2

使用 switch 语句。

switch($color)
{
    case "blue":
        // do blue stuff
        break;
    case "yellow":
        // do yellow stuff
        break;
    case "red":
        // do red stuff
        break;
    default:
        // if everything else fails...
}

如果您想对所有颜色执行相同的操作,只需使用||(boolean or) 运算符。

if ($color == "blue" || $color == "red" || $color == "yellow")
{
     // do stuff
}
于 2012-05-06T21:58:55.453 回答
0

你也可以选择preg_match这个。这可能是矫枉过正,但我​​敢肯定它非常快!

$color = "blue";
$pattern = "/^red|blue|yellow$/";
if ( preg_match($pattern,$color) ) { 
    // Do something nice here!
} 
于 2013-12-27T20:27:08.740 回答