<?php
$a=5;
switch($a){
case 1||2||3||4;
echo "aaa";
break;
case 5||6;
echo "bbb";
break;}
?>
这样写是错误的吗?要怎么写才能实现这种判断,switch不可以这样一定要if语句吗?

解决方案 »

  1.   

    $a=5;
    switch($a){
    case 1:case 2: case 3: case 4:
    echo "aaa";
    break;
    case 5: case 6:
    echo "bbb";
    break;}
    注意 case 之后跟的是 : 不是 分号;
      

  2.   

    <?php
    $a=5;
    switch($a){
    case 1:case 2: case 3: case 4:
    echo "aaa";
    break;
    case 5: case 6:
    echo "bbb";
    break;}
    ?>
      

  3.   

    1,2楼正解,
    但是按楼主的写法,应该是第一种case的值是1,第二个是5才对,可是为什么无论a是什么值都输出aaa,谁能解释下?
      

  4.   


    case 1||2||3||4;
      

  5.   

    他打的分号,执行前两句后就break了
      

  6.   

    switch:允许使用分号(;)代替case语句后的冒号(:)