首页新闻找找看学习计划

为什么$b输出结果为1?

0
[已关闭问题] 关闭于 2017-11-20 14:18
<?php
$a = 0;
$b = 0;
if(($a=3)>0 || ($b=3)>0){
    $a++;
    $b++;
} 
echo $a;  // 4
echo $b;   //1
php
yangzailu的主页 yangzailu | 初学一级 | 园豆:9
提问于:2017-11-20 13:52
< >
分享
所有回答(3)
0

||: 按照条件写的顺序,直到一个为true时,后面的条件则不再检查,直接进入条件

yangzailu | 园豆:9 (初学一级) | 2017-11-20 14:18

谢谢

支持(1) 反对(0) yangzailu | 园豆:9 (初学一级) | 2017-12-14 11:41
0

if(($a=3)>0 || ($b=3)>0){

$a++;

$b++;

}

($a=3)这个是直接赋值的操作,意思就是把3直接赋值给$a,所以$a的值为3大于0,||是或操作,第一个条件成立,后面的条件将不再执行判断,所以$b依然是0,而$a的值为3,再通过$a++;$b++之后,$a=4,$b=1;

希望对你有所帮助

我只是慕名而来 | 园豆:303 (菜鸟二级) | 2017-12-13 21:39

明白了 十分感谢

支持(0) 反对(0) yangzailu | 园豆:9 (初学一级) | 2017-12-14 11:41
1

|| 满足第一个条件 就不管 下面的条件 直接走判断里面 并不是 &&

我想要变有钱 | 园豆:202 (菜鸟二级) | 2017-12-22 10:41
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册