第八行和第十四行不输入break,仍然可以得到20,所以这两行不输入可以吗?

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

Helen_Kitty

2015-09-21 18:31

<?php
//A例子
$num = 2;
$sum  = 10; 
switch($num){
    case 1:
		$sum = $sum  + 10;
		
	case 2:
		$sum = $sum  + 10;
		break;
 	case 3:
		$sum = $sum  + 10;
		
	default:
		$sum = $sum  + 10;
}
 echo "A例子的值是:".$sum."<br />";


写回答 关注

2回答

  • fishfishmanman
    2015-10-12 10:56:25
    已采纳

    是可以不加,但是这只是个个例,你想想实际情况是你并不知道$num==2,所以才需要这个语句来判断说明,如果你知道$num==2,那你直接把结果赋值给$sum,也不用那么麻烦了

    Helen_...

    非常感谢!

    2015-10-12 22:15:14

    共 1 条回复 >

  • 黑腋書
    2015-09-21 18:49:04

    你把A例子和B例子的$num 都赋值为1就可以看到区别了,感觉就是为了把各个分支划清界限才加break中断的,不然各个分支就合并了,“default”分支更像“other”其他未分类未识别的分支。

    为了调试方便,你也可以直接加echo "走到的default"之类的语句调试。

PHP入门篇

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

455956 学习 · 6306 问题

查看课程

相似问题