这个PHP流程判断switch语句哪里出错了?为啥不执行default后面的语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了这个PHP流程判断switch语句哪里出错了?为啥不执行default后面的语句相关的知识,希望对你有一定的参考价值。

不执行default,是因为参数的值已经符合case设定的条件。

并且case中设置了break。也就是说。只要运行进入了case后。就会跳出switch判断咯。所以没有执行到default。

按照你的代码。我实验了一下。是没有问题的。代码以及结果如下:

switch ($xq)
    case \'星期一\':
        echo \'上课\';
        break;
    case \'星期二\':
        echo \'上课\';
        break;
    case \'星期三\':
        echo \'上课\';
        break;
    case \'星期四\':
        echo \'上课\';
        break;
    case \'星期五\':
        echo \'上课\';
        break;
    default:
        echo \'不上课\';
$xq = \'星期一\';

$xq = \'星期六\';

参考技术A 因为break了。代表着跳出了switch

特殊流程特殊流程控制语句控制语句

  1. Break

常用于switch和循环里面,如果是用在switch里面,代表跳出当前的case,如果是用在循环里面,代表跳出循环。

但是。PHP里面的breakC语言,JSbreak还要强大

PHP里面的break可以指定你要跳出几层

如下:case6下面的break不仅跳出了switch,还跳出while

 技术分享

 


  1. Continue

作用:结束本次循环,直接进入下次循环。PHP里面的continue同样比C语言和JS的强大,和break一样,可以指定结束哪一次循环

For(;;)

{

For(;;)

{

For(;;)

{

Continue 3;

}

}

}


  1. Exit语句

PHP脚本执行到exit(),不管现在在哪一个结构里面,都会直接退出当前的脚本。可以给该函数传一段字符串作为消息提示。

还有一个需要注意:用了exit()之后后面的脚本也进不去了

如下:

 技术分享

 

效果:后面的脚本也无法进入了

 技术分享

 


该函数有一个别名函数,叫做die()函数,两者功能是一样的,只是名字不同而已


  1. goto语句

goto语句是PHP5.3之后新增加的功能。作用就是跳转到程序的某个位置。

Goto的用法需要跟一个标记


K:

。。。。。

。。。。。

。。。。。

Goto K;



Goto语句无法跳入一个函数或者一个循环

如下:

 技术分享

 

效果:因为goto语句无法跳入函数或者循环,所以直接报错

 技术分享

 








以上是关于这个PHP流程判断switch语句哪里出错了?为啥不执行default后面的语句的主要内容,如果未能解决你的问题,请参考以下文章

java篇 之 流程控制语句

Java流程控制语句—(下)

switch case的用法

php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。

Java Script 流程控制语句(if判断switch选择和循环)

php switch 为啥 bool TRUE 被判断为了 int 1,NULL 成了 string '',而 bool FALSE 正常?