切换PHP中的'或'运算符

时间:2013-03-24 09:14:55

标签: php comparison switch-statement

嗯,我觉得这有点奇怪,但我想知道我是否可以在开关中使用'或'运算符,如下所示:

$pet = 'cat';

switch($pet)
    case 'cat' or 'Cat':
      echo 'Is a cat';
      break;
    case 'dog' or 'Dog':
      echo 'Is a dog';
      break;
    default:
      echo 'There is no pet';
      break;
  };

我昨天试了一下,不知怎的,我认为它有用,也许,今天我尝试了类似的东西,但它没有用,我想知道是否有办法做这样的事情,如果有办法比较案例中的两个值。

感谢的。

1 个答案:

答案 0 :(得分:6)

我不是百分百肯定,因为我暂时没有使用PHP,但你应该能够写出类似的东西:

$pet = 'cat';

switch ($pet)
{
    case 'cat':
    case 'Cat':
      echo 'Is a cat';
      break;
    case 'dog':
    case 'Dog':
      echo 'Is a dog';
      break;
    default:
      echo 'There is no pet';
      break;
};

或者,您可以在运行switch case之前使用strtolower($pet)之类的方法,这样您一次只需要测试一件事。

$pet = 'cat';

$testedString = strtolower($pet);

switch ($testedString)
{
    case 'cat':
      echo 'Is a cat';
      break;
    case 'dog':
      echo 'Is a dog';
      break;
    default:
      echo 'There is no pet';
      break;
};