background image

PHP 基础陷阱题(变量赋值)

PHP 基础陷阱题代码,需要的朋友可以参考下
代码如下

:

 
<?php 

$a

=3; 

$b

=6; 

if

(

$a

=5||

$b

=7){ 

$a

++; 

$b

++; 


var_dump(

$a

$b

); 

 
 
陷阱一

 

 

$a

=5、

$b

=7 看成了

$a

==5、

$b

==7 

错误结果:

3,6 

 
陷阱二

 

 
运算符的优先级,认为

$a

=5 赋值成功

$b

=7 没执行 

错误结果:

6,7 

 
正确理解

 

 
陷阱是运算符的优先,赋值运算符(

=)的优先级是最低的,所以正确理解应该是 

$a

=(5||

$b

=7) 

正确结果:

true,7 

 
升级一下

 

变形一

 

代码如下

:

 

$a

=3; 

$b

=6; 

$c

=1; 

if

(

$a

=5||

$b

=7 && 

$c

=10){ 

$a

++; 

$b

++;