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

PHP 語法入門筆記:從標記、分隔符到變量、引號的核心差異

     編輯:PHP 綜合知識

前言:從 ASP 轉 PHP 的「文化衝擊」與關鍵筆記

作為從 ASP 轉型的開發者,PHP 的語法既熟悉又陌生:分號不能少、變量前必加 $、單雙引號行為大不同。本文整理入門必知的五大語法基石,配合對比示例,助你快速建立正確的 PHP 思維模型。

一、PHP 腳本標記:三種形式,一種推薦

形式示例建議
短標記<? ... ?>❌ 不推薦:需開啟 short_open_tag=On,與 XML 聲明衝突
標準標記<?php ... ?>✅ 官方推薦,兼容 XML/XHTML,所有版本默認支援
Script 標記<script language="php">...</script> ⚠️ 罕用,歷史遺留

二、指令分隔符:分號與隱含規則

  • 每條語句必須以 ; 結束
  • PHP 結束標記 ?> 自動隱含一個分號,最後一行可省略
<?php
echo "第一行";   // 必須有分號
echo "第二行"    // 緊跟 ?> 可省略分號
?>

三、註釋風格:三種任選

<?php
// 單行註釋(C++ 風格)
#  單行註釋(Unix Shell 風格)
/*
  多行註釋(C 風格)
  可跨多行
*/
?>

四、輸出語句:echo vs print

特性echoprint
多參數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"
?>

六、單引號 vs 雙引號:核心差異表

場景雙引號 "..."單引號 '...'
變量解析✅ "$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"\  (組合轉義)
?>

七、ASP 轉 PHP 必踩的三大坑

  1. 漏分號:ASP 行尾無分號,PHP 必須有。
  2. 變量無 $:ASP 直接 name,PHP 必須 $name。
  3. 引號語義反轉:ASP 雙引號不解析變量,PHP 雙引號會解析。

總結

掌握 標準標記、分號習慣、$變量、雙引號解析、單引號字面 五大核心,你就跨越了 PHP 入門最大的語法鴻溝。建議:新專案統一用 <?php ... ?>、字串預設單引號、需要插值才用雙引號,代碼最清晰、性能最優、最不易出錯。

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