这两个PHP比较是否完全相同?我的意思是,两个陈述的结果是否相同;有没有括号?
没有括号:
if ( $params['isAjax'] == '1' && $isEnabled == '1' ) {
...
}
用括号括起每个陈述:
if ( ($params['isAjax'] == '1') && ($isEnabled == '1') ) {
...
}
此外,这是更好的方法。一个优于另一个?感谢。
答案 0 :(得分:2)
它们完全一样。操作顺序规定==
在&&
之前评估。
答案 1 :(得分:1)
是的,它们在逻辑上是相等的
if ( (true) && (true) )
与
相同 if ( true && true )
使用()
对语句进行分组是有效的
if ( (true && true) || false ) //true
if ( (true && false) || false ) //false
if ( (true && false) || true ) //true
if ( (true || false) && true ) //true
if ( (true || false) && false ) //false
没有对这些陈述进行分组将是
if ( true && true || false ) //true
if ( true && false || false ) //false
if ( true && false || true ) //true
if ( true || false && true ) //true
if ( true || false && false ) //true <-- different
分组语句使其更具可读性并删除不需要的结果(我不知道( true || false && false )
是真的)。