if多条件的执行顺序

强迫症犯了,一段很简单的代码。

if($a=3 && $a =4){
echo $a;
}

问为什么会输出布尔值 a =1
以及是先给a赋值3还是先给a赋值4?

请逻辑大神给个解释。


Helenr
浏览 1420回答 2
2回答

慕桂英3389331

我认为 $a=3 && $a =4 的执行次序实际是:$a = ( 3 && ($a = 4) ),因为&&的优先级高于=,而3&&4的结果是真,在PHP中真的值是1,假是0.故最后 $a = 1

呼唤远方

佩服,佩服 if(fwrite($file, $data2) && fclose($file)){ echo 'ok';},file是打开的文件,data2是数据,这段代码的意思是把data2的数据写入file,并关闭文件。。为什么这个代码竟然管用,正常情况下不是应该是从右向左执行的么。
打开App,查看更多内容
随时随地看视频慕课网APP