首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 進階測試題:核心概念與實戰考點匯總

     編輯:PHP 相關知識

知識點檢測題

  1. 預定義變數:當前腳本名稱(不含路徑/查詢字串)在 $_SERVER['SCRIPT_NAME'];引薦 URL 在 $_SERVER['HTTP_REFERER']。
  2. 運算優先級:8 % (-2) 輸出 0(PHP 中 % 運算結果符號與被除數一致)。
  3. HTTP 狀態碼:401 代表 Unauthorized;返回 404 應用 header('HTTP/1.0 404 Not Found') 或 http_response_code(404)。
  4. 陣列函數:arsort() 保持索引關聯、按值降序排序;error_reporting(2047) 開啟所有錯誤報告 (E_ALL 在 PHP 5.3+ 為 32767)。
  5. PEAR DSN 格式:mysqli://user:pass@host/db 或 pgsql://... 等。
  6. 正則過濾 Script:preg_replace('/]*>(.*?)<\/script>/is', '', $html)(實務建議用 HTMLPurifier)。
  7. Apache 模組安裝:LoadModule php_module modules/libphp.so + AddType application/x-httpd-php .php。
  8. include vs require:require 失敗致命錯誤停止執行;include 僅警告繼續。避免重複包含用 include_once/require_once。
  9. 物件序列化:serialize($obj) 存入 Session,unserialize() 還原(需確保類定義已載入)。
  10. 參數傳址:php.ini 設 allow_call_time_pass_reference = On(已棄用,現代用函數簽名 function(&$var))。
  11. SQL LEFT JOIN:左表全部保留,右表無匹配則 NULL。範例查詢學生總分:
    SELECT u.name, SUM(s.score) FROM tbl_user u LEFT JOIN tbl_score s ON u.ID=s.ID GROUP BY u.name。
  12. Heredoc 結束:結束標識必須獨佔一行、無縮進、分號結尾(如 EOT;)。

實戰編程題

13. 遞歸遍歷目錄

function scan_dir($path) {
    $files = [];
    $items = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, FilesystemIterator::SKIP_DOTS));
    foreach ($items as $item) {
        $files[] = $item->getPathname();
    }
    return $files;
}

14. 無限分類原理

資料表存 parent_id,讀取時遞歸或用 Closure Table 存儲所有祖先後代關係,查詢子樹只需一條 SQL。

15. 跨窗口通訊

主頁 window.open() 彈窗,彈窗內 window.opener.document.getElementById('target').value = input.value; window.close(); 實現數據回傳(同源策略限制)。

備註

題目涵蓋 PHP 核心語法、Web 協議、資料庫、安全、演算法等核心能力,適合中高級面試複習。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved