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

PHP 入門核心語法速成:從標籤到變數的完整指南

     編輯:PHP 相關知識

1. PHP 標籤:告別短標籤,擁抱標準

寫法建議說明
<?php ... ?>✅ 標準所有版本支援,XML/HTML5 安全
<? ... ?>❌ 不建議需開啟 short_open_tag,與 XML 宣告衝突
<script language="php">...</script>❌ 已移除PHP 7.0 移除
<%= $var %>❌ 已移除PHP 7.0 移除,改用 <?= $var ?>

最佳實踐:純 PHP 檔案省略結束標籤 `?>`,避免輸出空白字元導致 Header 發送失敗。

2. 指令分隔:分號與隱含結束

  • 每行陳述式以 ; 結尾。
  • PHP 結束標籤 ?> 隱含分號,前一行可省略(但建議保留一致性)。
  • 程式碼區塊使用大括號 `{}` 包裹(`if`、`foreach`、`function`、類別等)。

3. 註解風格

<?php
// 單行註解(C++ 風格)
# 單行註解(Shell 風格,較少用)

/*
 * 多行註解
 * 可跨越多行
 * 適合區塊說明
 */

/**
 * 文件區塊註解
 * @param string $name
 * @return void
 * IDE 可識別產生提示
 */

4. 輸出方式

函式/語法特性範例
echo語言結構,非函式,無回傳值,可接多參數echo 'Hello', 'World';
print函式,回傳 1,僅接受單一參數print 'Hello';
printf/sprintf格式化輸出printf('%.2f', 3.14159);
var_dump/print_r除錯輸出結構var_dump($arr);
<?= $var ?>短輸出標籤,等同 <?php echo $var; ?>模板中常用

5. 變數基礎

  • 以 $ 開頭,區分大小寫($name ≠ $Name)。
  • 無需宣告型別,賦值時自動推斷(動態型別)。
  • 變數名稱規則:字母/底線開頭,後接字母/數字/底線;${'valid-name'} 可用花括號包裹特殊名稱。
  • 預先定義超全域變數:$_GET、$_POST、$_REQUEST、$_COOKIE、$_SESSION、$_SERVER、$_FILES、$_ENV、$GLOBALS。

6. 單引號 vs 雙引號:效能與插值差異

特性單引號 '...'雙引號 "..."
變數插值❌ 直接輸出字面內容✅ 自動解析變數
跳脫字元僅 \'、\\完整支援 \n、\t、\$、\"、Unicode \u{1F600}
解析速度略快(無掃描插值)略慢(需掃描)
適用場景純靜態字串、大量輸出、SQL 片段需插值、換行、跳脫字元
$name = 'PHP';
echo 'Hello $name';   // Hello $name
echo "Hello $name";   // Hello PHP
echo "Hello {$name}"; // Hello PHP(複雜表達式建議加花括號)

7. Heredoc / Nowdoc:大段字串神器

<?php
// Heredoc:雙引號行為,支援插值
$sql = <<

結束標記必須獨佔一行、行首無縮排、分號可選。

8. 常見新手坑與避雷指南

  1. 忘寫分號:養成習慣,IDE 設定自動補全。
  2. 變數名稱拼寫錯誤:PHP 不報錯直接建立新變數(`Notice: Undefined variable`),開啟 error_reporting(E_ALL) 並使用靜態分析。
  3. 單雙引號混用導致語法錯誤:統一團隊規範,簡單字串用單引號。
  4. 直接輸出未轉義變數造成 XSS:模板層統一用 `htmlspecialchars($str, ENT_QUOTES, 'UTF-8')` 或框架內建 `{{ $var }}` 雙花括號自動轉義。

總結

掌握標籤、分隔、註解、輸出、變數、引號差異,即打下 PHP 開發的堅實基礎。建議搭配 PHPStan Level 5+ 靜態分析、PHP_CodeSniffer (PSR-12) 程式碼風格檢查,從第一行代碼開始養成專業習慣。

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