这两天进行 code review , 发现了一些关于PHP运算符优先级的使用问题,现在先贴一张PHP文档中的一张图例。
通过上面的图例很容易看出来,一些运算符虽然作用一致,但是其优先级不同,而这需要严格的注意,不能有丝毫马虎。
以逻辑运算符 && 、AND 、|| 、OR为例, 他们在一定的条件下,取得的结果一致,但不同的使用方法,可能会对
你的程序开发造成困扰:
1. 以 OR 为例:
$a = 3 or 1 ;
var_dump($a);输出如下:int(3)2. 以 || 为例:
$a = 3 || 1 ;
var_dump($a);输出如下:bool(true)
3. 若将例1 中 逻辑运算操作以 小括号 括起,则会出现例2 同样的结果,示例如下:
$a = ( 3 OR 1 ) ;
var_dump($a);输出如下: bool(true)
上面的例子应该是运算符差异性的代表性的例子了。这点东西虽小,但还是应该注意,除非有特别的需求。
本文探讨了PHP中运算符优先级的问题,并通过具体示例展示了逻辑运算符&&、AND、||、OR在不同使用场景下可能产生的差异。强调了即使看似相同的效果也可能因优先级的不同而改变程序的行为。
1852

被折叠的 条评论
为什么被折叠?



