Home  >  Article  >  Backend Development  >  逻辑或 题一个!解决方案

逻辑或 题一个!解决方案

WBOY
WBOYOriginal
2016-06-13 10:54:27951browse

逻辑或 题一个!!
$a=0;
$b=0;
if($a=3 || $b=3){
$a++;
$b++;
}
echo $a.','.$b; //输出 1,1
?>

他的解释是$a = (3 || $b = 3)。
这个解释可对?
http://school.youth.cn/2012/0509/5670.html
另外||是什么意思?- -,我找百度竟然没找到。

如果||前面的为true,后面的还执行么- -。

基础不好,见谅!!

------解决方案--------------------
运算符||是逻辑或,=是赋值运算符,从PHP定义的运算符优先级来说,运算符||的等级大于运算符=,所以
($a = 3 || $b = 3)这个表达式将会优先计算 ||运算符。||是二元运算符,且两边任意一边为真,运算结果就为真,表达式先计算(3 || $b =3 )的值,再将值赋给$a。而在PHP里,3 > 0,所以||运算符左边的结果是TRUE,右边的($b = 3)你可以无视,因为已经有一边为TRUE了,所以(3 || $b =3 )的结果为TRUE,
再将TRUE赋给$a,$a = TRUE。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn