当前位置:Gxlcms > PHP教程 > 请问case语句

请问case语句

时间:2021-07-01 10:21:17 帮助过:42人阅读

请教case语句
$a = '*';
switch($a)
{
case 1: echo ' (int)one';
case 0: echo ' (int)zero';
case '0': echo ' (string)zero';
case '*': echo ' (string)star';
case true: echo ' (bool)true';
case false: echo ' (bool)false';
}
上面这段为什么输出//(int)zero (string)zero (string)star (bool)true (bool)false
而不是输出//(string)star (bool)true (bool)false

------解决方案--------------------
每一句后面你都没写 break;它就继续匹配下一个case
------解决方案--------------------
因为case是弱类型比较
将字符串与数字比较的时候,字符串会被强制转换成数字

而你这个字符串强制转换后是0

所以就与0相等了

人气教程排行