php面试笔记(3)-php基础知识-运算符

本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:[email protected]

在面试中,考官往往喜欢基础扎实的面试者,而运算符相关的考点,往往是大家容易忽视的一个点,今天冷月就来帮各位小伙伴们梳理一下,在面试中运算符相关的注意点。

回顾真题

abc()和@abc()之间的区别。

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

<?php
/**
 * Created by 冷月小白.
 * 微信公众号: 学长冷月
 */

function abc()
{
    echo 1 / 0;
}

abc(); //输出 Warning: Division by zero

function abc()
{
    echo 1 / 0;
}

@abc(); //输出 INF

?>

考点分析

本考点主要是考察面试者对于php的运算符中的错误控制符@的认识,以及对于其衍生出来相关运算符的考点,各位小伙伴只需要把本博文的知识充分理解,就能得心应手的解决这类问题。下面冷月为大家展开讲解:

运算符的优先级
在php的运算符种类、数量都很多,冷月整理出来了面试中常考的几个为大家详细讲解:
递增/递减 > 算术运算符 > 数值大小比较 > 逻辑与 > 逻辑或 > 三目运算符 > 赋值运算符

  1. 递增/递减
    i++ 或 ++i
  2. 算术运算符
    + - * / %
  3. 数值大小比较
    > >= < <= ==
  4. 逻辑与
    &&
  5. 逻辑或
    ||
  6. 三目运算符
    :?
  7. 赋值运算符
    a = 10

冷月建议在平时的编程过程中,各位小伙伴应该养成用()将表达式括住的习惯,这样可以避免犯错误。但是,在面试中,往往就是没有()的面试题,大家也要多注意。

比较运算符

理解==和===的区别:
== :数值相等就返回true,
=== :数值相等和数据类型相等才返回true。

其中返回FALSE的7种情况也是常考点!
不清楚数据类型和FALSE的7种情况的小伙伴,可以学习一下冷月在另一篇博文中介绍的知识-《php面试笔记(2)-php基础知识-常量和数据类型》或者关注冷月的微信公众号:学长冷月。回复:php面试。冷月将整理好的资料发给您。

递增/递减运算符

其中,要注意的是递增/递减运算符对布尔值的影响。
NULL是最重要的一个点。
NULL-- : 无效果
NULL++:输出1

扫描二维码关注公众号,回复: 11607597 查看本文章

逻辑运算符及短路作用

x && y的短路作用为:x为FALSE就直接返回FALSE,不执行y
x || y的短路作用为:x为TRUE就直接返回TRUE,不执行y

一网打尽

<?php
/**
 * Created by 冷月小白.
 * 微信公众号: 学长冷月
 */

$a = 0;
$b = 0;
if ($a = 3 > 0 || $b = 3 > 0) { 
    $a++;
    $b++;
    echo $a; //1
    echo $b; //1
}
?>

答案: $a 和 $b 都返回1。

我们来分析这段代码($a = 3 > 0 || $b = 3 > 0),根据上面对优先级的介绍,我们已经知道了各类运算符的执行流程。首先是比较运算符3>0返回true,而 根据逻辑或的短路作用,前面返回true则直接返回true,不执行后面的代码。 所以if的括号返回true,转而执行括号体的内容。

相关阅读

php面试笔记(1)-php基础知识-变量和引用变量
php面试笔记(2)-php基础知识-常量和数据类型
php面试笔记(3)-php基础知识-运算符
php面试笔记(4)-php基础知识-流程控制
php面试笔记(5)-php基础知识-自定义函数及内部函数考点
php面试笔记(6)-php基础知识-正则表达式考点
php面试笔记(7)-php基础知识-文件及目录处理考点
php面试笔记(9)-php基础知识-面向对象考点
好了,今天和大家的分享就到这里了,大家一定要勤加练习,早日收获自己的offer!

欢迎关注我的公众号:学长冷月,获得独家整理的学习资源和日常干货推送。
如果您对我的专题内容感兴趣,也可以关注我的博客:guoyu7.com

猜你喜欢

转载自blog.csdn.net/rebekah_/article/details/104377247