1. 程式人生 > >PHP面試(Part1:基礎篇)

PHP面試(Part1:基礎篇)

序言:

面試是每個程式設計師進入企業必須要經過的一道門檻,關於面試,可能很多小夥伴可能不知道該從何複習。這裡我給大家做一個簡單的知識點梳理,希望各位可以找到自己的薄弱點進行補強!

  • 面試點1:引用變數

1.概念:用不同的變數名訪問同一個變數,使用&符號定義。

2.原理:PHP的變數賦值遵循COW機制,即Copy On Write。通俗的講就是當一個變數的值賦給另一個變數時,會複製當前變數並重新開闢一塊記憶體空間來儲存變數值,這就造成了兩個變數值雖然一樣但是卻指向了不同的記憶體空間,因此改變其中一個變數的值,另一個與當前變數值相同的變數並不會被改變。而引用賦值就則是重新申明一個變數名指向當前記憶體空間。如下圖:

tips:物件不遵循cow機制,物件本身就是引用傳值

  • 面試點2:常量

1.常量定義後不能被修改,不能刪除

2.const,define區別:const是語言結構,define是函式,因此const更快;const可以定義類常量。

  • 面試點3:資料型別
  1. 八大資料型別 

    1.標量型:字串型,整型,浮點型,布林型;

    2.複合型:陣列型,物件型;

    3.特殊型:NULL,資源型。

  2. 浮點型不能做相等比較,因為在比較過程中記憶體開銷會影響浮點型資料。
  3. false的七種情況:0,0.0,'0','',false,array(),NULL
  4. 超全域性變數:$_GLOBALS,$_GET,$_POST,$_REQUEST,$_SESSION,$_COOKIE,$_SERVER,$_FILES
  5. 你應該知道的:$_GLOBALS包含以上所有;$_REQUEST包含$_GET,$_POST,$_COOKIE;$_SERVER['SERVER_ADDR']:服務端IP;$_SERVER['SERVER_NAME']:伺服器名稱;$_SERVER['REMOTE_ADDR']:客戶端IP;$_SERVER['QUERY_STRING']:響應報文。

今天就這麼多吧!後續會每天都更!