请教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相等了
0
0
相关文章
HTML 表单字段命名最佳实践:兼顾可维护性、安全性与框架适配性
高效利用SQL CASE 语句进行多条件数据更新
利用PHP DateTime类处理日期输入与月份识别
php switch语句的使用
根据多条件更新SQL表:使用CASE表达式优化销售员分配逻辑
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具









