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

PHP 入門核心筆記:執行模式、標籤、註解、變量、超全局陣列與表單處理

     編輯:PHP 相關知識

PHP 入門核心筆記

本文整理 PHP 基礎知識體系:執行方式、語法標記、註解規範、變量機制、資料傳遞與表單處理,適合初學者建立完整心智模型。

一、PHP 執行模式

  1. Web 伺服器模組:透過 Apache/Nginx + mod_php/php-fpm 處理 HTTP 請求,存取 $_SERVER、$_GET、$_POST 等超全局變量。
  2. 命令列模式 (CLI):直接呼叫 php script.php,無 Web 伺服器參與,適合排程任務、遷移腳本、守護進程。輸入輸出對應 STDIN/STDOUT/STDERR。

二、起始與結束標籤

<?php
// PHP 程式碼
?>
  • 標準標籤 <?php ?> 兼容性最好,建議永遠使用。
  • 短標籤 <? ?>、<%= %> 需開啟 short_open_tag,不推薦。
  • 純 PHP 檔案省略結束標籤,防止輸出末尾空白字符干擾 Header/JSON 輸出。
  • 語句以分號結尾;結束標籤前最後一條語句可省略分號(但不建議依賴此特性)。

三、註解規範

類型語法適用場景
單行// 註解 或 # 註解行內說明、暫時停用代碼
多行/* 註解內容 */區塊說明、大段代碼暫停
文檔註解/** 文檔 */類/方法/屬性標準文檔,支援 phpDocumentor、IDE 智能提示

文檔註解範例:

/**
 * 求和函數
 * @param int $p1 被加數
 * @param int $p2 加數
 * @return int 兩數之和
 */
function sum($p1, $p2) {
    return $p1 + $p2;
}

陷阱:HTML 註解 <!-- --> 內的 PHP 代碼仍會執行,只是輸出被瀏覽器隱藏。切勿用 HTML 註解「停用」PHP 邏輯。

四、變量核心機制

1. 命名與引用

  • 以 $ 開頭,區分大小寫:$name ≠ $Name。
  • $ 不是變量名一部分,僅為識別符。
  • 變量與函數可同名:$func() 呼叫變量函數,func() 呼叫普通函數。

2. 值傳遞 vs 參考傳遞

$a = 10;
$b = $a;      // 值傳遞:複製值空間,$b 獨立
$c = &$a;     // 參考傳遞:複製引用空間,$c 與 $a 指向同一值空間
$c = 20;      // $a 也變為 20

3. 變量檢查與銷毀

  • var_dump($var):輸出類型與值,除錯必備。
  • unset($var):刪除變量名與引用,值空間由 GC 回收(引用計數歸零時)。
  • isset() / empty():檢查變量是否存在且非空值。

五、超全局陣列與表單處理

GET 與 POST 比較

特性GETPOST
資料位置URL 查詢字串HTTP 請求主體
長度限制瀏覽器/伺服器限制 (~2KB-8KB)受 post_max_size 限制 (預設 8MB)
可見性網址列明文可見不直接顯示於網址
適用場景查詢、分頁、可分享連結表單提交、檔案上傳、敏感資料
PHP 存取$_GET$_POST

$_REQUEST 合併陣列

包含 $_GET、$_POST、$_COOKIE。鍵名衝突時,優先順序由 php.ini request_order 決定(預設 GP,即 POST 覆蓋 GET)。建議顯式使用 $_GET 或 $_POST,避免隱性衝突。

簡單表單範例

<!-- form.html -->
<form action="handle.php" method="post">
  <input name="username" type="text">
  <input name="password" type="password">
  <button type="submit">送出</button>
</form>
<?php
// handle.php
var_dump($_POST); // 顯示提交資料
// 輸出範例:array(2) { ["username"]=> string(5) "admin" ["password"]=> string(8) "secret123" }

六、常見新手錯誤清單

  • 變量名大小寫不一致導致「未定義變量」Notice。
  • 混用單雙引號:雙引號解析變量、跳脫字符;單引號視為字面字串。
  • 直接輸出未驗證的 $_GET/$_POST 導致 XSS 漏洞,務必用 htmlspecialchars()。
  • 忘記 session_start() 就使用 $_SESSION。

打好這些基礎,後續學習 OOP、框架、資料庫操作將事半功倍。

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