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

邏輯運算符及短路作用

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章