php面試筆記(3)-php基礎知識-運算符

本文是根據慕課網Jason老師的課程進行的PHP面試知識點總結和昇華,若有侵權請聯繫我進行刪除,email:guoyugygy@163.comphp

在面試中,考官每每喜歡基礎紮實的面試者,而運算符相關的考點,每每是你們容易忽視的一個點,今天冷月就來幫各位小夥伴們梳理一下,在面試中運算符相關的注意點。面試

回顧真題

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的運算符種類、數量都不少,冷月整理出來了面試中常考的幾個爲你們詳細講解:
遞增/遞減 > 算術運算符 > 數值大小比較 > 邏輯與 > 邏輯或 > 三目運算符 > 賦值運算符code

  1. 遞增/遞減
    i++ 或 ++i
  2. 算術運算符
    + - * / %
  3. 數值大小比較
    > >= < <= ==
  4. 邏輯與
    &&
  5. 邏輯或
    ||
  6. 三目運算符
    :?
  7. 賦值運算符
    a = 10

冷月建議在平時的編程過程當中,各位小夥伴應該養成用()將表達式括住的習慣,這樣能夠避免犯錯誤。可是,在面試中,每每就是沒有()的面試題,你們也要多注意。blog

比較運算符資源

理解==和===的區別:
== :數值相等就返回true,
=== :數值相等和數據類型相等才返回true。get

其中返回FALSE的7種狀況也是常考點!
不清楚數據類型和FALSE的7種狀況的小夥伴,能夠學習一下冷月在另外一篇博文中介紹的知識-《php面試筆記(2)-php基礎知識-常量和數據類型》或者關注冷月的微信公衆號:學長冷月。回覆:php面試。冷月將整理好的資料發給您。博客

遞增/遞減運算符

其中,要注意的是遞增/遞減運算符對布爾值的影響。
NULL是最重要的一個點。
NULL-- : 無效果
NULL++:輸出1

邏輯運算符及短路做用

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,轉而執行括號體的內容。

好了,今天和你們的分享就到這裏了,你們必定要勤加練習,早日收穫本身的offer!

歡迎關注個人公衆號:學長冷月,得到獨家整理的學習資源和平常乾貨推送。
若是您對個人專題內容感興趣,也能夠關注個人博客:guoyu7.com

相關文章
相關標籤/搜索