因为在等于0时,case表达式满足. (其实是不满足,所以表达式返回false,但在非严格比较模式下,false和0是相等.所以相等.)
其执行过程类似于$cj=0;
case ($cj>=90 and $cj<=100) ===> case false ==> $cj=0匹配false ==> 所以执行
其执行过程类似于$cj=0;
case ($cj>=90 and $cj<=100) ===> case false ==> $cj=0匹配false ==> 所以执行
<?php
$cj=101;
switch($cj){
case $cj<=0:
echo "成绩未知建议重修";
break;
case $cj<60:
echo "不及格";
break;
case $cj<70:
echo '刚好及格';
break;
case $cj<80:
echo '中';
break;
case $cj<90:
echo '良';
break;
case $cj<=100:
echo '优';
break;
default:
echo "成绩未知建议重修";
break;
}
?>