2

第一个肯定是可行的,但下面哪一个是有效的方法?

switch($type) {
    case 1:
        print 'success';
    break;

    case 2:
        print 'success';
    break;

    case 3:
        print 'success';
    break;

    case 4:
        print 'success for type 4';
    break;
}

由于 1、2 和 3 打印的效果相同,我可以这样做吗?

switch($type) {
    case 1, 2, 3:
        print 'success';
    break;

    case 4:
        print 'success for type 4';
    break;
}

或者

switch($type) {
    case 1:
    case 2:
    case 3:
        print 'success';
    break;

    case 4:
        print 'success for type 4';
    break;
}
4

3 回答 3

20
 switch($type) 
 {
     case 1:
     case 2:
     case 3:
         print 'success';
     break;
     case 4:
         print 'success for type 4';
     break;
 }

是要走的路!

于 2008-10-23T18:24:56.857 回答
3

PHP手册列出了一个示例,例如您的第三个 for switch

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i is less than 3 but not negative";
    break;
case 3:
    echo "i is 3";
}
?>
于 2008-10-23T18:24:58.760 回答
2

我同意其他人对以下用途的看法:

switch ($i) {
   case 0: //drop
   case 1: //drop
   case 2: //drop
      echo "i is 0, 1, or 2";
   break;
   // or you can line them up like this.
   case 3: case 4: case 5:
      echo "i is 3, 4 or 5";
   break;
}

我要添加的唯一内容是多行删除 case 语句的注释,这样当您(或其他人)在最初编写代码后查看代码时,您就知道这不是错误。

于 2008-10-23T21:44:56.127 回答