程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP入門最基礎語法

PHP入門最基礎語法

編輯:關於PHP編程

1,從 HTML 中分離

凡是在一對開始和結束標記之外的內容都會被 PHP 解析器忽略,這使得 PHP 文件可以具備混合內容。 可以使 PHP 嵌入到 HTML 文檔中去,如下例所示。

<p>This is going to be ignored by PHP and displayed by the browser.</p>
<?php echo 'While this is going to be parsed.'; ?>
<p>This will also be ignored by PHP and displayed by the browser.</p>

這將如預期中的運行,因為當 PHP 解釋器碰到 ?> 結束標記時就簡單地將其後內容原樣輸出(除非馬上緊接換行 - 見指令分隔符)直到碰到下一個開始標記;
例外是處於條件語句中間時,此時 PHP 解釋器會根據條件判斷來決定哪些輸出,哪些跳過。

見下例,注意if 和 else 後面的 : 冒號

使用條件結構:
    <?php if ($expression == true): ?>
      This will show if the expression is true.
    <?php else: ?>
      Otherwise this will show.
    <?php endif; ?>


上例中 PHP 將跳過條件語句未達成的段落,即使該段落位於 PHP 開始和結束標記之外。
由於 PHP 解釋器會在條件未達成時直接跳過該段條件語句塊,(:?> 跳出了 PHP 模式並返回了 HTML 模式) 因此 PHP 會根據條件來忽略之。
要輸出大段文本時,跳出 PHP 解析模式通常比將文本通過 echo 或 print 輸出更有效率。

    <?php if(count($dataProvider->getData())):?>
        <div id="down" style="display:block;">
            <div>
                <input type="button" id="exportexcel" class="button3" value=" 導出Excel " url="<?=Yii::app()->request->getUrl()?>">
                    <span id="downloadlink"></span></div>
                </div>       
    <?php endif;?>       


--------------------------------------------------------------------------------

2,指令分隔符

一段 PHP 代碼中的結束標記隱含表示了一個分號
在一個 PHP 代碼段中的最後一行可以不用分號結束
如果後面還有新行,則代碼段的結束標記包含了行結束。
<?php
    echo "This is a test";
?>

<?php echo "This is a test" ?>

<?php echo 'We omitted the last closing tag';

    Note:

文件末尾的 PHP 代碼段結束標記可以不要

 

有些情況下當使用 include 或者 require 時省略掉會更好些,這樣不期望的空白符就不會出現在文件末尾,之後仍然可以輸出響應標頭。
在使用輸出緩沖時也很便利,就不會看到由包含文件生成的不期望的空白符。

<?php if(0): ?>
342432353
<?php else: ?>
otherwise this will show.
<?php endif   ;

或者

<?php if(0): ?>
342432353
<?php else: ?>
otherwise this will show.
<?php endif ?>


--------------------------------------------------------------------------------

PHP注釋

 

<?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
?>


單行注釋僅僅注釋到行末或者當前的 PHP 代碼塊,視乎哪個首先出現。

 

這意味著在 // ... ?> 或者 # ... ?> 之後的 HTML 代碼將被顯示出來
:?> 跳出了 PHP 模式並返回了 HTML 模式,// 或 # 並不能影響到這一點。


 C 風格的注釋在碰到第一個 */ 時結束。
<?php
 /*
    echo "This is a test"; /* This comment will cause a problem */

 */

 echo 'kdfjal';
?>
將報錯,輸出空白


--------------------------------------------------------------------------------
String 字符串

一個字符串 string 就是由一系列的字符組成,其中每個字符等同於一個字節。這意味著 PHP 只能支持 256=2的8次方 的字符集,因此不支持 Unicode 。詳見字符串類型詳解。

    Note: string 最大可以達到 2GB。

語法

一個字符串可以用 4 種方式表達:

    單引號
    雙引號
    heredoc 語法結構
    nowdoc 語法結構(自 PHP 5.3.0 起)


--------------------------------------------------------------------------------
單引號

定義一個字符串的最簡單的方法是用單引號把它包圍起來(字符 ')。

要表達一個單引號自身,需在它的前面加個反斜線(\)來轉義。
要表達一個反斜線自身,則用兩個反斜線(\\)。
其它任何方式的反斜線都會被當成反斜線本身:也就是說如果想使用其它轉義序列例如 \r 或者 \n,並不代表任何特殊含義,就單純是這兩個字符本身。

    Note: 不像雙引號和 heredoc 語法結構,在單引號字符串中的變量和特殊字符的轉義序列將不會被替換。

<?php
echo 'this is a simple string';

// 可以錄入多行
echo 'You can also have embedded newlines in
strings this way as it is
okay to do';

// 輸出: Arnold once said: "I'll be back"
echo 'Arnold once said: "I\'ll be back"';

// 輸出: You deleted C:\*.*?
echo 'You deleted C:\\*.*?';

// 輸出: You deleted C:\*.*?
echo 'You deleted C:\*.*?';

// 輸出: This will not expand: \n a newline
echo 'This will not expand: \n a newline';

// 輸出: Variables do not $expand $either
echo 'Variables do not $expand $either';
?>

--------------------------------------------------------------------------------
雙引號

如果字符串是包圍在雙引號(")中, PHP 將對一些特殊的字符進行解析:
轉義字符

序列     含義
\n     換行(ASCII 字符集中的 LF 或 0x0A (10))
\r     回車(ASCII 字符集中的 CR 或 0x0D (13))
\t     水平制表符(ASCII 字符集中的 HT 或 0x09 (9))
\v     垂直制表符(ASCII 字符集中的 VT 或 0x0B (11))(自 PHP 5.2.5 起)
\e     Escape(ASCII 字符集中的 ESC 或 0x1B (27))(自 PHP 5.4.0 起)
\f     換頁(ASCII 字符集中的 FF 或 0x0C (12))(自 PHP 5.2.5 起)
\\     反斜線
\$     美元標記
\"     雙引號
\[0-7]{1,3}     符合該正則表達式序列的是一個以八進制方式來表達的字符
\x[0-9A-Fa-f]{1,2}     符合該正則表達式序列的是一個以十六進制方式來表達的字符

和單引號字符串一樣,轉義任何其它字符都會導致反斜線被顯示出來。PHP 5.1.1 以前,\{$var} 中的反斜線還不會被顯示出來。

用雙引號定義的字符串最重要的特征是變量會被解析,詳見變量解析。


--------------------------------------------------------------------------------

Heredoc 結構

第三種表達字符串的方法是用 heredoc 句法結構:<<<。在該運算符之後要提供一個標識符,然後換行。接下來是字符串 string 本身,最後要用前面定義的標識符作為結束標志。

結束時所引用的標識符必須在該行的第一列,而且,標識符的命名也要像其它標簽一樣遵守 PHP 的規則:只能包含字母、數字和下劃線,並且必須以字母和下劃線作為開頭。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved