画眉
2015-03-14 10:18
我看的分析对不,
<?php
//A例子
$num = 2;
$sum = 10;
switch($sum){ //这里的$sum 值是上面付给的10么?
case 1:
$sum = $sum + 10; //这里为什么没有执行?
break;
case 2:
$sum = $sum + 10; //这里和上面一样么?如果一样为什么上面的为什么不有执行,而从这开始。 break;
case 3:
$sum = $sum + 10;
break;
default:
$sum = $sum + 10;
}
echo "A例子的值是:".$sum."<br />";
//B例子
$num = 2;
$sum = 10;
switch($num){
case 1:
$sum = $sum + 10;
case 2:
$sum = $sum + 10;
case 3:
$sum = $sum + 10;
default:
$sum = $sum + 10;
}
echo "B例子的值是:".$sum."<br />";
?>
刚开始我也没搞懂,看了前面一章和下面朋友们的解答才明白:switch(//这个括号里要输入的是条件),他和后面的case()括号里面的是要对应 的,相当于总和分支或者说大哥和小弟,大哥说啥,小弟听啥,大哥说switch($num),因为上面说$num=2,所以switch($num)也就 是switch(2),下面的分支条件case()括号里就要找对应的2,所以从case(2)条件下执行,如果有break这一个障碍,就停下直接输出 结果,如果没有,就一直执行到底,或者执行到有break出现的那一条件下。。说的够生动形象具体吧。哈哈哈
A例子里switch括号里的是$num吧,不是$sum,case1不执行是因为$num != 1,case1的完整意思就是case($num=1),当循环到case2的时候条件成立了才开始执行,但是此后若没有break;其他的表达式也会被执行,即使条件不成立;
同问啊,我也不理解
PHP入门篇
455995 学习 · 6306 问题
相似问题