这段代码不太理解呀。。。

@Ta 2014-04-22 2100点击
<?php
$a=3;
$b=3;
if($a=5 || $b=5){
    $a++;
    $b++;
}
echo $a."<br>".$b
?>
为什么会是输出
1
4
呢?
回复列表(5|隐藏机器人聊天)
  • @Ta / 2014-04-22 / /
    被禁言
    用户被禁言,发言自动屏蔽。
  • @Ta / 2014-04-22 / /
    。。
  • @Ta / 2014-04-22 / /
    你尽搞怪啊,用一个等号就是赋值了,两个等号是判断,你这个if其实就是判断变量$a的ture和false,并且给变量$a重新赋值了,$a=(5 || $b = 5),括号里面的结果显然是true,所以$a=true,因为$a=true了,所以进入if运算$a++和$b++,应为$b没有被重新赋值,所以$b为4,而$a被重新赋值为true,是boolean类型的,$a++应该还是true,而php中true的输出结果就是1。但是有的地方我还是不确定
  • @Ta / 2014-04-22 / /
    @xggz,噢噢噢,以为if()中的是等于了。。。汗。。。惯性思维害死人。。。
  • @Ta / 2014-04-23 / /
    楼主,等于和赋值你还分不清啊!
添加新回复
回复需要登录