(1)代码: $a = 5; var_dump($a > true).'<br>'; 为何结果为:boolean false?求详解(2)代码:<?php $a = 3; $b = 5; if($a = 5 || $b = 7){ $a++; $b++; } echo $a,$b; var_dump($a); var_dump($b);?>输出为:16。求详解,谢谢。以及为什么var_dump($a)为boolean true。为什么$b=6?
2 回答
已采纳
慕妹3887762
TA贡献9条经验 获得超4个赞
问题一:
这个是强制转换的问题,当你使用$a > true时,$a被强制转换成了布尔值进行比较,比较标准是true>false
问题二:
if($a = 5 || $b = 7),这个语句中如果不是故意写错的话,应该要写成( ( $a == 5 ) || ($b == 7 ) )那比较直观,也就不会有这么多问题了。这个主要就是if里面的运算顺序问题了
$a = 5 || $b = 7 这里其实按去处符就变成了 $a = (5 || ($b=7)) ,然后 由于$a = 5 返回了bool(true),所以$b = 7是不会执行的。到了函数体中,由于 $a = true;所以$a ++ 不会有变化。
- 2 回答
- 0 关注
- 1577 浏览
添加回答
举报
0/150
提交
取消