5

私はそのような制御構造を持っています:

switch ($var) {
   case TRUE: 
   break;

   case FALSE:
   break;

   case NULL:
   break;
}

そして、NULLphpマニュアルで見つけたように、私のケースは決して呼び出されません:

switch/case は緩やかな比較を行うことに注意してください。

IFの代わりに使用できることはわかっていますが、使用したくありSWITCHません。IF'sCASESWITCH

どういうわけか書き直す方法SWITCHや、値を厳密に比較するためにいくつかのトリックを使用する方法はありますか?

4

3 に答える 3

7

はい、できます

switch (true) {
   case $var === TRUE: 
   break;

   case $var === FALSE:
   break;

   case $var === NULL:
   break;
}
于 2012-05-19T15:59:12.450 に答える
0

これが switch コンストラクトの動作方法です。これについてできることはあまりありません。

私が見る唯一の方法は、PHP ソースコードに変更を加えて再コンパイルすることです。しかし、その場合、もはや「PHP」を実行することはありません(そして、コードは「PHP」以外のものに依存することになります)。

于 2012-05-19T15:59:09.433 に答える