2008-10-23 53 views
1

第一个肯定是有效的,但下面哪一个是有效的方法?我可以有多个案件做同样的事情吗?

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

回答

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

是要走的路!

3

PHP手册列举了像你第3的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"; 
} 
?> 
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; 
} 

我想补充的唯一事情是对的评论多行删除案例语句,这样,当你(或其他人)在最初编写代码后查看代码时,它不是一个错误。

相关问题