B例子解释看不懂

来源:6-6 PHP条件结构之switch…case…中的break

财迷煎饼

2016-05-24 16:32

在B例子中,执行了第二个case , $sum变为20,由于没有break,继续执行第三个case,然后又执行default,$sum变为了40。 这个解释看不懂啊。 根据switch case语法,如果要执行case 3, num的值不应该是3才能执行吗?

写回答 关注

1回答

  • linmufengrand
    2016-05-24 17:28:26
    已采纳

    您好,按照我的理解,对于一个switch case语句,如果有一个分支条件满足后,如B例子中,执行了第二个case , $sum变为20,由于没有break,会继续执行下面的分支,注意:此时程序已经不执行判断第三个及以后的case分支中条件了,但会执行除此以外的所有可执行语句。也就是说,如果不希望程序在满足一个分枝后不继续执行下面的分支(如果有),则需要在该分支中的最后添加break;用以跳出分支。


    较为一般的形式为:

    switch(表达式){ 
        case 常量表达式1:  语句1;
        case 常量表达式2:  语句2;
        … 
        case 常量表达式n:  语句n;
        default:  语句n+1;
    }

    其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。若出现break;则跳出分支判断。

    参考资料:C语言switch语句的用法详解

    linmuf... 回复财迷煎饼

    嗯,我也看了,确实会更清楚些,我也是才学PHP,理解得不是很好。

    2016-05-24 19:07:45

    共 2 条回复 >

PHP入门篇

PHP入门教程轻松学习,行业大牛帮您快速掌握PHP编程基础知识。

455994 学习 · 6306 问题

查看课程

相似问题