PHP面試(Part1:基礎篇)
阿新 • • 發佈:2018-12-09
序言:
面試是每個程式設計師進入企業必須要經過的一道門檻,關於面試,可能很多小夥伴可能不知道該從何複習。這裡我給大家做一個簡單的知識點梳理,希望各位可以找到自己的薄弱點進行補強!
- 面試點1:引用變數
1.概念:用不同的變數名訪問同一個變數,使用&符號定義。
2.原理:PHP的變數賦值遵循COW機制,即Copy On Write。通俗的講就是當一個變數的值賦給另一個變數時,會複製當前變數並重新開闢一塊記憶體空間來儲存變數值,這就造成了兩個變數值雖然一樣但是卻指向了不同的記憶體空間,因此改變其中一個變數的值,另一個與當前變數值相同的變數並不會被改變。而引用賦值就則是重新申明一個變數名指向當前記憶體空間。如下圖:
tips:物件不遵循cow機制,物件本身就是引用傳值
- 面試點2:常量
1.常量定義後不能被修改,不能刪除
2.const,define區別:const是語言結構,define是函式,因此const更快;const可以定義類常量。
- 面試點3:資料型別
- 八大資料型別
1.標量型:字串型,整型,浮點型,布林型;
2.複合型:陣列型,物件型;
3.特殊型:NULL,資源型。
- 浮點型不能做相等比較,因為在比較過程中記憶體開銷會影響浮點型資料。
- false的七種情況:0,0.0,'0','',false,array(),NULL
- 超全域性變數:$_GLOBALS,$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES
- 你應該知道的:$_GLOBALS包含以上所有;$_REQUEST包含$_GET,$_POST,$_COOKIE;$_SERVER['SERVER_ADDR']:服務端IP;$_SERVER['SERVER_NAME']:伺服器名稱;$_SERVER['REMOTE_ADDR']:客戶端IP;$_SERVER['QUERY_STRING']:響應報文。
今天就這麼多吧!後續會每天都更!