本文是根據慕課網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
i++ 或 ++i
+ - * / %
> >= < <= ==
&&
||
:?
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