1

まあ、これはちょっと変だと思いますが、スイッチ内で「または」演算子を次のように使用できるかどうかを知りたいと思います。

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

昨日試してみましたが、どういうわけかうまくいったと思います。多分、今日は似たようなことを試しましたが、うまくいきませんでした。このようなことをする方法があるかどうか、そして内部の2つの値を比較する方法があるかどうかを知りたいです。ケース。

ありがとう。

4

1 に答える 1

6

しばらくPHPを使用していなかったので、100%確信はありませんが、次のように記述できるはずです。

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

または、スイッチケースを実行する前のような方法を使用してstrtolower($pet)、一度に1つのことだけをテストする必要があります。

$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;
};
于 2013-03-24T09:17:43.130 に答える