How to handle a PHP switch with different types?

后端 未结 5 1443
栀梦
栀梦 2020-12-09 17:34

How can I make the switch respect data types ( is there a workaround better then if/else ) ?

  • $value = false; // should echo false
  • $value = null; // should ec
  • 5条回答
    •  遥遥无期
      2020-12-09 18:02

      switch (true) {
          case $value === '0' :
              echo 'zero';
              break;
          case $value === '' :
              echo 'empty';
              break;
          case $value === null :
              echo 'null';
              break;
          case $value === false :
              echo 'false';
              break;
          default :
              echo 'default';
              break;
      }
      

      I think, it's more readable than a if-elseif-chain like given below:

      if ($value === '0') {
        echo 'zero';
      } else if ($value === '') {
        echo 'empty';
      } else if ($value === null) {
        echo 'null';
      } else if ($value === false) {
        echo 'false';
      } else {
        echo 'default';
      }
      

    提交回复
    热议问题