我的开关出了什么问题?
现在结果:
< more
> less
= equality
!= no't equality
应该是这样:
< more
= equality
<?php
$page = 99;
switch ($page)
{
case $page < 121:
echo '< more <br/>';
case $page > 123:
echo '> less <br/>';
case $page == 99:
echo '= equality <br/>';
case $page != 99:
echo '!= no\'t equality <br/>';
}
?>
在 switch 语句中,您将数字与布尔值进行比较。
我们来看第一个案例$page < 121
is true
,所以进行的比较是99==true
这是true
根据http://docs.php.net/language.types.type-juggling (switch执行松散比较,而不是严格比较===)。因此第一个 case 块被执行。
既然你没有break声明它会进入下一个 case 块,然后是下一个,依此类推......
含义:无论您是否使用,这都不会按预期工作break
or not.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)