作為從 ASP 轉型的開發者,PHP 的語法既熟悉又陌生:分號不能少、變量前必加 $、單雙引號行為大不同。本文整理入門必知的五大語法基石,配合對比示例,助你快速建立正確的 PHP 思維模型。
| 形式 | 示例 | 建議 |
|---|---|---|
| 短標記 | <? ... ?> | ❌ 不推薦:需開啟 short_open_tag=On,與 XML 聲明衝突 |
| 標準標記 | <?php ... ?> | ✅ 官方推薦,兼容 XML/XHTML,所有版本默認支援 |
| Script 標記 | <script language="php">...</script> |
⚠️ 罕用,歷史遺留 |
; 結束?> 自動隱含一個分號,最後一行可省略<?php
echo "第一行"; // 必須有分號
echo "第二行" // 緊跟 ?> 可省略分號
?>
<?php
// 單行註釋(C++ 風格)
# 單行註釋(Unix Shell 風格)
/*
多行註釋(C 風格)
可跨多行
*/
?>
| 特性 | echo | |
|---|---|---|
| 多參數 | echo "a", "b", "c"; ✅ | print "a", "b"; ❌ 僅接受單參數 |
| 返回值 | 無 | 總是返回 1 |
| 括號 | 可加可不加 echo("hi") | 建議加 print("hi") |
| 速度 | 略快(無返回值開銷) | 略慢 |
實務建議:日常用 echo;需在表達式中使用輸出結果時用 print。
$ 開頭:$name、$_POST['id']Notice(PHP 8.0+ 拋 Warning)<?php
$a = "123";
echo $a; // 123
echo a; // Notice: Use of undefined constant a → 輸出字面字串 "a"
?>
| 場景 | 雙引號 "..." | 單引號 '...' |
|---|---|---|
| 變量解析 | ✅ "$a" → 變量值 | ❌ '$a' → 字面字串 "$a" |
| 轉義序列 | ✅ \n \t \$ \" \\ | ❌ 僅支援 \' 和 \\ |
| 性能 | 需解析,極微慢 | 無解析,極微快 |
| 嵌套變量 | "{$a}abc" 清晰界定 | 不支援 |
<?php
$a = "123";
echo "$a"; // 123
echo '$a'; // $a
echo "$a'$a'"; // 123'123' (單引號在雙引號內失去保護,變量仍被解析)
echo "$a\$a"; // 123$a (\$ 轉義為字面 $)
echo "$a\$a\"\\"; // 123$a"\ (組合轉義)
?>
name,PHP 必須 $name。掌握 標準標記、分號習慣、$變量、雙引號解析、單引號字面 五大核心,你就跨越了 PHP 入門最大的語法鴻溝。建議:新專案統一用 <?php ... ?>、字串預設單引號、需要插值才用雙引號,代碼最清晰、性能最優、最不易出錯。