常見的 PHP 面試題和答案分享

八重櫻發表於2020-04-18

如何直接將輸出顯示給瀏覽器?

將輸出直接顯示給瀏覽器,我們必須使用特殊標記 <?=and?>。

PHP 是否支援多重繼承?

PHP 只支援單繼承。PHP 的類使用關鍵字 extends 繼承另一個類

獲取圖片屬性(size, width, 和 height)的函式是什麼?

獲取圖片大小 size:getimagesize ();獲取圖片寬度 width:imagesx ();獲取圖片高度 height:imagesy ()。

如何使用 PHP 指令碼 連線 MySQL 資料庫?

為了連線到 MySQL 資料庫,必須使用 mysql_connect () 函式:

<!--?php $database = mysqli_connect("HOST", "USER_NAME", "PASSWORD"); mysqli_select_db($database,"DATABASE_NAME"); ?-->

如何使用 POST 方法訪問通過 URL 傳送的資料?

要訪問以這種方式傳送的資料,請使用 $ _POST 陣列。想象一下,當使用者單擊「提交到帖子」表單時,表單上有一個名為「var」的表單欄位,然後您可以像這樣訪問值:

$_POST["var"];

解釋你對 PHP 進行更改時如何更新 Memcached?

當 PHP 更改時,您可以通過以下方式更新 Memcached

  • 動清除快取: 進行插入或更新時清除快取
  • 重置快取: 與第一種方法類似,但不僅僅是刪除鍵並等待下一個資料重新整理快取的請求,而是在插入或更新後重置值。

解釋是否可以在多個 PHP 專案之間共享單個 memcache 例項?

是的,可以在多個專案之間共享一個 Memcache 例項。 Memcache 是​​一個記憶體儲存空間,您可以在一個或多個伺服器上執行 memcache。您還可以將客戶端配置為與特定例項集進行對話。因此,您可以在同一主機上執行兩個不同的 Memcache 程式,但它們是完全獨立的。除非您已經對資料進行了分割槽,否則有必要知道從哪個例項獲取資料或將資料放入哪個例項。

for 和 foreach 有什麼區別?

for 表示如下:

for (expr1; expr2; expr3)

expr1 在開頭執行一次。 在每次迭代中,expr2 都會被評估。 如果評估結果是 TRUE, 迴圈繼續, 並執行 for 中的語句。 如果評估結果是 FALSE, 迴圈結束。expr3 在每次迭代結束時進行測試。

 

但是,foreach 提供了一種遍歷陣列的簡便方法,並且僅與陣列和物件一起使用。

 

如何在 PHP 中強制轉換型別?

輸出型別的名稱必須在要強制轉換的變數前的括號中指定,如下所示:

  • (int), (integer) - 強制轉換為整型
  • (bool), (boolean) - 強制轉換為布林值
  • (float), (double), (real) - 強制轉換為浮點型
  • (string) - 強制轉換為字串
  • (array) - 強制轉換為陣列
  • (object) - 強制轉換為物件

用於雜湊密碼最便捷的雜湊方法是什麼?

最好使用本身支援幾種雜湊演算法的 crypt () 或支援比 crypt () 更多變體的函式 hash (),而不是使用常見的雜湊演算法,如 MD5、SHA1 或 sha256,因為它們被認為是存在安全問題的。因此,使用這些演算法的雜湊密碼可能會產生漏洞。

 

函式中的靜態變數有什麼用?

靜態變數僅在函式中首次定義,並且其值可以在函式呼叫期間進行如下修改:

<!--?php function testFunction() { static $testVariable = 1; echo $testVariable; $testVariable++; } testFunction(); //1 testFunction(); //2 testFunction(); //3 ?-->

 

 

更多學習內容請訪問:

騰訊T3-T4標準精品PHP架構師教程目錄大全,只要你看完保證薪資上升一個臺階(持續更新)圖示


推薦視訊:

PHP高階開發工程師簡歷打造,祝你金三銀四跳槽加薪

https://www.bilibili.com/video/BV1S

相關文章