PHP - 語法



PHP 的語法規則與 C 語言非常相似。PHP 是一種伺服器端指令碼語言。PHP 程式碼儲存為副檔名為“.php”的文字檔案。“.php”檔案本質上是一個網頁,其中包含一個或多個嵌入在 HTML 指令碼中的 PHP 程式碼塊。但是,它必須透過 HTTP 協議 URL 在瀏覽器中開啟。換句話說,如果雙擊 PHP 檔案圖示,它將在本地使用檔案協議開啟。例如,如果在 Apache 伺服器的文件根目錄資料夾中開啟“index.php”檔案,它可能只會顯示 PHP 程式碼的文字。但是,如果啟動 Apache 伺服器並開啟 URL https:///index.php,則會顯示 Apache 首頁。

“.php”檔案可能包含 HTML、CSS 和 JavaScript 程式碼塊以及 PHP 程式碼。因此,PHP 解析器必須區分 PHP 程式碼和其他元素。當“.php”檔案在 Web 瀏覽器中開啟時,HTML 引擎會呈現 HTML/CSS/JavaScript 部分,並在遇到 PHP 標記中包含的語句時立即退出 HTML 塊。PHP 解析器直譯器處理此塊並將響應返回給瀏覽器。

PHP Syntax

PHP 定義了兩種使用標記從 HTML 中轉義 PHP 程式碼的方法:規範 PHP 標記和短標記(SGML 風格)標記。

規範 PHP 標記

最普遍有效的 PHP 標記樣式是:

<?php
   One or more PHP statements
?>

如果使用此樣式,可以肯定標記將始終被正確解釋。

短標記(SGML 風格)標記

短標記或短開標記如下所示:

<?php
	One or more PHP statements
?>

短標記正如預期的那樣是選項中最短的。必須執行以下兩項操作之一才能使 PHP 識別標記:

  • 在構建 PHP 時選擇“--enable-short-tags”配置選項。

  • 將 php.ini 檔案中的“short_open_tag”設定設定為 on。

short_open_tag=on

必須停用此選項才能使用 PHP 解析 XML,因為 XML 標記使用了相同的語法。

使用ASP 風格標記

<%...%> 

HTML 指令碼標記

<script language = "PHP">...</script>

已被棄用。

從 HTML 中轉義

PHP 解析器忽略一對起始和結束標記之外的所有內容。因此,PHP 檔案可以具有混合內容。這允許 PHP 嵌入在 HTML 文件中:

<p>This is a HTML statement</p>
<?php echo This is a PHP statement.'; ?>
<p>This is another HTML statement.</p>

下面顯示了使用條件轉義的一個稍微高階的示例:

<?php if ($expression == true): ?>
   This HTML statement will be rendered.
<?php else: ?>
   Otherwise this HTML statement will be rendered.
<?php endif; ?>

PHP 跳過條件不滿足的塊,即使它們在 PHP 開/閉標記之外。

對於輸出大量的文字,退出 PHP 解析模式通常比透過 echo 或 print 傳送所有文字效率更高。

PHP 的基本語法

PHP 的基本語法與 C 和 C++ 的基本語法非常相似。

語句是用分號結尾的表示式

PHP 中的語句是任何以分號 (;) 結尾的表示式。任何由 PHP 標記括起來的有效 PHP 語句序列都是一個有效的 PHP 程式。

這是一個典型的 PHP 語句,在本例中,它將一串字元賦值給名為“$greeting”的變數:

$greeting = "Welcome to PHP!";

文字編輯器中的物理行在 PHP 程式碼中沒有任何意義。一行中可能有多個以分號結尾的語句。另一方面,如果需要,PHP 語句可能會跨越多行。

表示式是標記的組合

PHP 最小的構建塊是不可分割的標記,例如數字 (3.14159)、字串 ("two")、變數 ($two)、常量 (TRUE) 以及構成 PHP 本身語法的特殊詞,例如 "if"、"else"、"while"、"for" 等等。

大括號構成程式碼塊

雖然語句不能像表示式那樣組合,但始終可以透過將語句序列括在大括號中,將它們放在任何語句可以出現的位置。

這裡,以下兩個語句是等效的:

if (3 == 2 + 1)
   print("Good - I haven't totally lost my mind.
"); if (3 == 2 + 1) { print("Good - I haven't totally"); print("lost my mind.
"); }

PHP 區分大小寫

PHP 是一種區分大小寫的語言。各種 PHP 識別符號(如變數、函式、類等)都區分大小寫。因此,變數“$age”與“$Age”不同。同樣,名為“myfunction()”的函式與名為“MyFunction()”的另一個函式不同。

廣告