微信扫一扫打赏支持

php面试专题---3、运算符考察点

php面试专题---3、运算符考察点

一、总结

一句话总结:

逻辑运算符注意短路效果,优先级问题直接用括号,还要注意 ||和&&与or和and的优先级不同

 

1、foo()和@foo()之间的区别?

@foo()抑制错误

 

2、PHP的运算符的错误控制符@?

PHP支持一个错误运算符:@。当将其放置在一个PHP表达式之前,该表达式可能产生的任何错误信息都被忽略掉

 

3、php运算符的优先级?

递增/递减>!>算术运算符>大小比较>(不)相等比较>引用>位运算符(^)>位运算符(|)>逻辑与>逻辑或>三目>赋值>and>xor>or
括号:括号的使用可以增加代码可读性,推荐使用

 

4、php比较运算符考点?

==和===的区别
等值判断(FALSE的七种情况)

 

5、php递增/递减运算符注意点?

布尔值:递增/递减运算符不影响布尔值:true++还是true;true--还是true
NULL:递减NULL值没有效果,递增NULL值为1
递增递减符号位置:递增和递减在前就先运算符后返回,反之就先返回,后运算

 

6、php 逻辑运算符 注意点?

短路作用
||和&&与or和and的优先级不同
重点记忆递增/递减运算符的运算规则,逻辑运算符的短路效果,在看到逻辑运算符要多考虑优先级问题

 

7、解释下列两个表达式的结果?

|||-begin

$a=false || true;→true
$b=false or true;→false

|||-end

||优先级高于=(赋值号)
or优先级小于=(赋值号);英文状态下的逻辑运算符的优先级最低

 

8、这个表达式($a=3>0 || $b=3>0)的执行顺序是怎样?

1、(3>0)
2、(3>0||$b=3>0)
3、($a= (3>0||$b=3>0) );$b=3>0由于逻辑短路没被执行

 

 

 

 

二、内容在总结中

 

 

 

 
posted @ 2019-06-20 14:59  范仁义  阅读(407)  评论(0编辑  收藏  举报