常見的 PHP 面試題和答案分享
如何直接將輸出顯示給瀏覽器?
將輸出直接顯示給瀏覽器,我們必須使用特殊標記 <?=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架構師教程目錄大全,只要你看完保證薪資上升一個台階(持續更新)
推薦影片: