阅读量:1
- 可以使用表达式作为case条件
在PHP的switch语句中,case条件通常是一个固定的值,但实际上你也可以在case条件中使用表达式,例如:
$num = 5; switch(true) { case $num > 0 && $num < 10: echo "Number is between 0 and 10"; break; case $num > 10 && $num < 20: echo "Number is between 10 and 20"; break; default: echo "Number is not in range"; }
在上面的例子中,我们使用了表达式$num > 0 && $num < 10
作为case条件,这样就可以根据$num的值判断数字所属的范围。
- 可以使用fall-through效果
在普通的switch语句中,当匹配到一个case时,会执行该case及其后面的所有case,直到遇到break语句为止。但是有时候我们可能希望让某个case执行完毕后,继续执行后面的case,这时可以使用fall-through效果,例如:
$num = 2; switch($num) { case 1: echo "One"; case 2: echo "Two"; case 3: echo "Three"; break; default: echo "Number is not in range"; }
上面的例子中,当$num的值为2时,会输出"Two"、“Three”,因为没有在case 2和case 3之间加上break语句,从而实现了fall-through效果。
- 可以使用default case来实现多条件匹配
有时候我们可能需要在switch语句中实现多条件匹配,这时可以使用default case来实现,例如:
$num = 5; switch(true) { case $num == 1 || $num == 2: echo "One or Two"; break; case $num == 3 || $num == 4: echo "Three or Four"; break; default: echo "Number is not in range"; }
在上面的例子中,我们使用了default case来实现多条件匹配,当$num的值既不是1也不是2,也不是3也不是4时,会执行default case中的代码。