$b = 1; $a = 2; if ($a > 1) { echo ‘1’; if ($b > 2) { echo ‘2’; } } else { echo ‘3’; }
这样的代码是很规范的,但是,如果你不带{}的括号,你执行之后显示的结果会让你很纠结的~~我认为else匹配最近的一个if,问题就在这里!原来不带{}的时候会这样子滴。
然后说一个switch问题的比较问题
$a = 5; switch ($a) { case $a > 3: echo ‘大于3’; break; case $a == 3: echo ‘等于3’; break; case $a < 3: echo ‘小于3’; break; }
然后我们把$a = 5改成$a = 0;然后会看到~~(你先想想)
结果竟然是!!大于3!!
然后我们再做点调整再$a = 5改成$a = 2.0,这样我们就会看到~~唉,还是你自己写出来看看吧
其实有的时候结果是和你想像的不一样的~~注意Swtich的语法
PS:工作原理:首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。
也就是说switch中的case是确定的值而不是进行比较的值!很好玩吧?