PHP新手之學(xué)習(xí)基本語法
PHP,是英文超級文本預(yù)處理語言Hypertext Preprocessor的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風(fēng)格有類似于C語言,被廣泛的運(yùn)用。
從 HTML 中分離
當(dāng) PHP 解析一個(gè)文件時(shí),會尋找開始和結(jié)束標(biāo)記,標(biāo)記告訴 PHP 開始和停止解釋其中的代碼。此種方式的解析可以使 PHP 嵌入到各種不同的文檔中,凡是在一對開始和結(jié)束標(biāo)記之外的內(nèi)容都會被 PHP 解析器忽略。大多數(shù)情況下 PHP 都是嵌入在 HTML 文檔中的,如下例所示。
- <p>This is going to be ignored.</p>
- <?php echo 'While this is going to be parsed.'; ?>
- <p>This will also be ignored.</p>
還可以用更高級的結(jié)構(gòu):
Example#1 高級分離術(shù)
- <?php
- if ($expression) {
- ?>
- <strong>This is true.</strong>
- <?php
- } else {
- ?>
- <strong>This is false.</strong>
- <?php
- }
- ?>
上例可正常工作,因?yàn)楫?dāng) PHP 碰到結(jié)束標(biāo)記 ?> 時(shí),就簡單地將其后的內(nèi)容原樣輸出直到碰到下一個(gè)開始標(biāo)記為止。當(dāng)然,上面的例子很做作,但是對輸出大塊的文本而言,脫離 PHP 解析模式通常比將所有內(nèi)容用 echo() 或者 print() 輸出更有效率。
可以在 PHP 中使用四對不同的開始和結(jié)束標(biāo)記。其中兩種,
- <?php ?>
和
- <script language="php"> </script>
總是可用的。另兩種是短標(biāo)記和 ASP 風(fēng)格標(biāo)記,可以在 php.ini 配置文件中打開或關(guān)閉。盡管有些人覺得短標(biāo)記和 ASP 風(fēng)格標(biāo)記很方便,但移植性較差,通常不推薦。
Note: 此外注意如果將 PHP 嵌入到 XML 或 XHTML 中則需要使用 <?php ?> 以保持符合標(biāo)準(zhǔn)。
Example#2 PHP 開始和結(jié)束標(biāo)記
- <?php echo 'if you want to serve XHTML or XML documents, do like this'; ?>
- <script language="php">
- echo 'some editors (like FrontPage) don\'t
- like processing instructions';
- </script>
- <? echo 'this is the simplest, an SGML processing instruction'; ?>
- <?= expression ?> This is a shortcut for "<? echo expression ?>"
- <% echo 'You may optionally use ASP-style tags'; %>
- <%= $variable; # This is a shortcut for "<% echo . . ." %>
上例中的 1 和 2 總是可用的,其中 1 是最常用,并建議使用的。
短標(biāo)記(上例 3)僅在通過 php.ini 配置文件中的指令 short_open_tag 打開后才可用,或者在 PHP 編譯時(shí)加入了 --enable-short-tags 選項(xiàng)。
Note: 如果用 PHP 3 還可以通過 short_tags() 函數(shù)激活使用短標(biāo)記。此方法只適用于 PHP 3!
ASP 風(fēng)格標(biāo)記(上例 4)僅在通過 php.ini 配置文件中的指令 asp_tags 打開后才可用。
Note: 對 ASP 風(fēng)格標(biāo)記的支持是 3.0.4 版添加的。
Note: 在以下情況應(yīng)避免使用短標(biāo)記:開發(fā)需要發(fā)行的程序或者庫,或者在用戶不能控制的服務(wù)器上開發(fā)。因?yàn)槟繕?biāo)服務(wù)器可能不支持短標(biāo)記。為了代碼的移植及發(fā)行,確保不要使用短標(biāo)記。
指令分隔符
同 C 或 Perl 一樣,PHP 需要在每個(gè)語句后用分號結(jié)束指令。一段 PHP 代碼中的結(jié)束標(biāo)記隱含表示了一個(gè)分號;在一個(gè) PHP 代碼段中的***一行可以不用分號結(jié)束。如果后面還有新行,則代碼段的結(jié)束標(biāo)記包含了行結(jié)束。
- <?php
- echo "This is a test";
- ?>
- <?php echo "This is a test" ?>
- <?php echo 'We omitted the last closing tag';
Note: 文件末尾的 PHP 代碼段結(jié)束標(biāo)記可以不要,有些情況下當(dāng)使用 include() 或者 require() 時(shí)省略掉會更好些,這樣不期望的白空格就不會出現(xiàn)在文件末尾,之后仍然可以輸出響應(yīng)標(biāo)頭。在使用輸出緩沖時(shí)也很便利,就不會看到由包含文件生成的不期望的白空格。
注釋
PHP 支持 C,C++ 和 Unix Shell 風(fēng)格(Perl 風(fēng)格)的注釋。例如:
- <?php
- echo "This is a test"; // This is a one-line c++ style comment
- /* This is a multi line comment
- yet another line of comment */
- echo "This is yet another test";
- echo 'One Final Test'; # This is a one-line shell-style comment
- ?>
單行注釋僅僅注釋到行末或者當(dāng)前的 PHP 代碼塊,視乎哪個(gè)首先出現(xiàn)。這意味著在 // ... ?> 或者 # ... ?> 之后的 HTML 代碼將被顯示出來:?> 跳出了 PHP 模式并返回了 HTML 模式,// 或 # 并不能影響到這一點(diǎn)。如果啟用了 asp_tags 配置選項(xiàng),其行為和 // %> 或 # %> 相同。不過,</script> 標(biāo)記在單行注釋中不會跳出 PHP 模式。
- <h1>This is an <?php # echo "simple";?> example.</h1>
- <p>The header above will say 'This is an example'.
復(fù)制代碼C 風(fēng)格的注釋在碰到***個(gè) */ 時(shí)結(jié)束。要確保不要嵌套 C 風(fēng)格的注釋。試圖注釋掉一大塊代碼時(shí)很容易出現(xiàn)該錯(cuò)誤。
- <?php
- /*
- echo "This is a test"; /* This comment will cause a problem */
- */
- ?>
希望通過以上內(nèi)容的介紹,能夠幫助到你。
【編輯推薦】