$num=3:false; 这个地方前面是赋值,后面直接是个false了。。

解决方案 »

  1.   

    看着阵势,楼主又是那个sheep_app3吧 $map = array(3, 1, 2);
    $num1 = $map[$no % 3];
      

  2.   

    ($no%3==1)?$num=1:(($no%3==2)?$num=2:(($no%3==0)?$num=3:false));
      

  3.   

    你的三元和if是不等价的,仔细看看你的三元只会得出两种结果,$num=3或false
      

  4.   

    上面答案不是给楼主的,给只会用 if , switch 的盆友们提供另外一种思路,就是用hashtable,分支多时它的效率是最高的