已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 源码

标题: 这段代码不太理解呀。。。

作者: @Ta

时间: 2014-04-22

点击: 2089

<?php
$a=3;
$b=3;
if($a=5 || $b=5){
    $a++;
    $b++;
}
echo $a."<br>".$b
?>
为什么会是输出
1
4
呢?

[隐藏样式|查看源码]


『回复列表(5|隐藏机器人聊天)』

1.
用户被禁言,发言自动屏蔽。
(/@Ta/2014-04-22 15:40//
被禁言
)

2. 。。
(/@Ta/2014-04-22 15:58//)

3. 你尽搞怪啊,用一个等号就是赋值了,两个等号是判断,你这个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 16:18//)

4. @xggz,噢噢噢,以为if()中的是等于了。。。汗。。。惯性思维害死人。。。
(/@Ta/2014-04-22 18:16//)

5. 楼主,等于和赋值你还分不清啊!
(/@Ta/2014-04-23 09:33//)

回复需要登录

10月9日 08:22 星期四

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1