使用PHP switch语句执行多个case [英] Executing multiple case using PHP switch statement
问题描述
例如,我必须根据一个值执行多组指令.
$value = 'AA';开关($值){案例'AA':echo "值等于 1";继续;案例'BB':echo "值等于 2";继续;案例'CC' ||'AA':echo "值等于 3";休息;}
我对上面代码的期望是它应该根据传递的值执行多个案例,变量 $value 包含 AA
作为值,因此我希望它同时执行 >
case 'AA'
和case 'CC' ||'AA'
所以它应该打印出 value equals 1 value equals 3
但是它不会以这种方式执行它我只得到 value equals 1
作为输出.如果我从语句中删除 continue
它将执行所有三个 cases
这在逻辑上是错误的.PHP 的 switch 语句是否支持基于单个值执行多种情况?有什么解决方法吗?
谢谢...
当缺少 break
时,switch
语句会导致进入下一个条件:>
$value = 'AA';开关($值){案例'AA':echo "值等于 1";//这种情况没有中断,启用失败案例'CC':echo "值等于 3";//这个对 AA 和 CC 都执行休息;案例'BB':echo "值等于 2";休息;}
I have to execute multiple set of instructions based upon a value, for example.
$value = 'AA';
switch ($value) {
case 'AA':
echo "value equals 1";
continue;
case 'BB':
echo "value equals 2";
continue;
case 'CC' || 'AA':
echo "value equals 3";
break;
}
What i am expecting from the above code is it should execute multiple cases based upon the values passed, the variable $value contains AA
as the value so hence i am expecting it to execute both
case 'AA'
and
case 'CC' || 'AA'
so it should print out value equals 1 value equals 3
however it does not execute it that way i am getting only value equals 1
as output. and if i remove continue
from the statement it executes all three cases
which is logically wrong. does the PHP's switch statement support multiple cases to be executed based on a single value? is there any workaround for this?
thank you..
When a break
is missing then a switch
statement enables falling through to the next condition:
$value = 'AA';
switch ($value) {
case 'AA':
echo "value equals 1"; // this case has no break, enables fallthrough
case 'CC':
echo "value equals 3"; // this one executes for both AA and CC
break;
case 'BB':
echo "value equals 2";
break;
}
这篇关于使用PHP switch语句执行多个case的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!