up
down
Close
架站盒子
Web Development Box
 

PHP 如何顯示字串中的變數

│ 1241 Views │ PHP
PHP 如何顯示字串中的變數
PHP 如何顯示字串中的變數

有時候會需要echoprint一段文字,但如果字串中又有變數該如何表達?最簡單的方式是用雙引號裡面直接帶變數,其次是可以使用.來連接變數。

簡易方法

範例(雙引號):

$str = "kumo";
echo "hello, I am $str."; // 輸出:hello, I am kumo.

範例(用.連接):

$str = "kumo";
echo "hello, I am".$str; // 輸出:hello, I am kumo.

如果引號中又有引號,可以用反斜線進行解析:

$str = "kumo";
echo "hello, I\'m $str."; // 輸出:hello, I'm kumo.

這樣大概解決了95%的情況,如果還有特殊情況,請參考以下所有表達方式。

PHP提供四種字串表達方式:

  1. 單引號
  2. 雙引號
  3. heredoc 語法結構
  4. nowdoc 語法結構

單引號

當字串包含html標籤時很適合用單引號,這樣就不用把html的雙引號改為單引號,如果要表達單引號本身則寫作\",表達反斜線本身則是\\注意:它無法轉換變數與特殊字符

// 包含單引號。輸出:hello, I'm kumo.
echo 'hello, I\'m kumo';

// 包含雙引號。輸出:hello, I am "kumo".
echo '<p class="text">hello, I am "kumo".</p>';

// 無轉換變數。輸出:I am $str.
echo 'I am $str';

// 無轉換特殊符號。輸出:I am kumo.\n
echo 'I am kumo.\n';

雙引號

雙引號的最大特色就是可以轉換變數與特殊符號,其餘都跟單引號相同,因此理論上雙引號比較萬用。

$str = "kumo";
echo "hello, I am \"$str\".\n nice to meet you.";

輸出結果:

hello, I am "kumo".
nice to meet you.

\n是換行的意思。

Heredoc 語法結構

使用<<<END作為開頭,用END結尾,中間可以任意填寫,包含單引號、雙引號皆可,可直接換行,接受空格與tab縮進,可直接轉換變數。注意:它無法轉義html標籤。

$str = "kumo";
echo <<<END
hello,
I'm "$str".
nice to meet you.
<p>goodbye</p>
END;

輸出結果:

hello,
    I'm "kumo".
      nice to meet you.
        <p>goodbye</p>

 

Nowdoc 語法結構

使用<<<'EOD'作為開頭,用EOD結尾,中間可以任意填寫,包含單引號、雙引號皆可,可直接換行,接受空格與tab縮進,無法轉換變數或特殊字符NowdocHeredoc差不多,差別只在於Nowdoc不解析內容,因此寫什麼就如實搬出,適合用於顯示code等。

$str = "kumo";
echo <<<'EOD'
hello,
I'm "$str".
nice to meet you.
<p>goodbye</p>
EOD;

輸出結果:

hello,
    I'm "$str".
      nice to meet you.
        <p>goodbye</p>

 

以上就是PHP顯示字串、變數、特殊字符的四種方法,希望對各位有幫助:)

 

延伸閱讀

本文是否對您有幫助?