abc()和@abc()之間的區別。答案:php 支援乙個錯誤控制運算子:@。當將其放置在乙個 php 表示式之前,該表示式可能產生的任何錯誤資訊都被忽略掉。使用方法如下:
<?php
/** * created by 冷月小白.
*/function abc()
abc(); //輸出 warning: division by zero
function abc()
@abc(); //輸出 inf
?>
本考點主要是考察面試者對於php的運算子中的錯誤控制符@的認識,以及對於其衍生出來相關運算子的考點,各位小夥伴只需要把本博文的知識充分理解,就能得心應手的解決這類問題。下面冷月為大家展開講解:
運算子的優先順序
在php的運算子種類、數量都很多,冷月整理出來了面試中常考的幾個為大家詳細講解:
遞增/遞減 > 算術運算子 > 數值大小比較 > 邏輯與 > 邏輯或 > 三目運算子 > 賦值運算子
遞增/遞減
i++ 或 ++i
算術運算子
+ - * / %
數值大小比較
> >= < <= ==
邏輯與&&
邏輯或||
三目運算子
:?
賦值運算子
a = 10
冷月建議在平時的程式設計過程中,各位小夥伴應該養成用()將表示式括住的習慣,這樣可以避免犯錯誤。但是,在面試中,往往就是沒有()的面試題,大家也要多注意。
比較運算子
理解==和===
的區別:
==
:數值相等就返回true,
===
:數值相等和資料型別相等才返回true。
其中返回false的7種情況也是常考點!
遞增/遞減運算子
其中,要注意的是遞增/遞減運算子對布林值的影響。
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 都返回1。
我們來分析這段**($a = 3 > 0 || $b = 3 > 0)
,根據上面對優先順序的介紹,我們已經知道了各類運算子的執行流程。首先是比較運算子3>0
返回true,而根據邏輯或的短路作用,前面返回true則直接返回true,不執行後面的**。所以if的括號返回true,轉而執行括號體的內容。
好了,今天和大家的分享就到這裡了,大家一定要勤加練習,早日收穫自己的offer!
php面試筆記(3) php基礎知識 運算子
abc 和 abc 之間的區別。答案 php 支援乙個錯誤控制運算子 當將其放置在乙個 php 表示式之前,該表示式可能產生的任何錯誤資訊都被忽略掉。使用方法如下 created by 冷月小白.function abc abc 輸出 warning division by zero functio...
php面試筆記(4) php基礎知識 流程控制
請列出3種php陣列迴圈操作的語法,並註明各種迴圈的區別 答案 forforeach while list each for for迴圈是常見的迴圈結構,但是只能遍歷索引陣列。foreach foreach既可以遍歷索引陣列,也可以遍歷關聯陣列。但是每次呼叫foreach時陣列的內部指標會重置到陣列...
php面試筆記(4) php基礎知識 流程控制
回顧真題 請列出3種php陣列迴圈操作的語法,並註明各種迴圈的區別 答案 for for迴圈是常見的迴圈結構,但是只能遍歷索引陣列。foreach foreach既可以遍歷索引陣列,也可以遍歷關聯陣列。但是每次呼叫foreach時陣列的內部指標會重置到陣列中的第乙個元素。while list eac...