phpswitch,phpswitchcase
php 里面 SWITCH 没有default吗
有,其结构如下
switch (variable) {
case 'value':
# code...
break;
default:
# code...
break;
}
这个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?=?'星期六';
php中switch以下输出结果为什么是1 不是0?
我是这么理解的
switch后面括号里的东西(这里的东西可以是表达式也可以是一个值) 与case 后面的东西(这里的东西可以是表达式也可以是值)进行比较,如果相等就能进去该case,如果不相等则不能进入该case
然后看你的代码
首先你的switch后面括号里的东西是$a,也就是0,看第一个case后面是$a=0,这是一个表达式,因为$a=0,所以$a=0这个表达式是true,然后拿0和true进行比较,显然0是不等于true的,所以第一个case是走不进去的
在看第二个case $a=10 这个表达式是false,然后拿0和false比较,显然0等于false,所以是可以走进第二个case的