PHP中heredoc和nowdoc的用法

我先定義一個三行三列的表格:php

$table="<table border='1' width=\"80%\">//使用轉義符
<tr>
   <td>編號</td>
   <td>用戶名</td>
   <td>描述</td>
</tr>
<tr>
    <td>1</td>
    <td>tang</td>
    <td>she said \"I'm  a girl\"</td>//由於在php文文件中,出現了單雙引號衝突,因此這裏用了轉義符。
</tr>

</table>";
echo $table;

輸出結果: 輸入圖片說明code

咱們發現當在php文件中同時使用單引號和雙引號就會出現衝突咱們要用到轉義符。圖片

  • heredoc語法結構

<<<標識名稱 內容 標識名稱;it

注意:table

  1. 標識名只能包含字母、數字、下劃線,而且必須字母和下劃線開始
  2. 結束符前不能有任何內容,像製表符和空格都不能夠
  3. PHP5.3以後能夠將標識符用雙引號括起來,其餘和雙引號做用同樣
$table=<<<EOF
<table border='1' width=80%>
<tr>
     <td>編號</td>
     <td>用戶名</td>
     <td>描述</td>
</tr>
<tr>
    <td>1</td>
    <td>tang</td>
    <td>she said "I'm  a girl"</td>
</tr>
</table>
EOF;
echo $table;

輸出結果: 輸入圖片說明變量

用了heredoc語法結構實現了一樣的效果,可是咱們並無用轉義符。 因此heredoc就至關於雙引號的做用,也具備解析變量的能力。語法

  • nowdoc語法結構

<<<'標識名稱' 內容 標識名稱;im

注意:img

  • nowdoc和單引號做用同樣,不解析變量和轉義符,標識名稱須要放在單引號中
$username='tang';
$str=<<<'EOD'
hello king<br/>
{$username}
EOD;
echo $str

輸出結果:tab

輸入圖片說明

相關文章
相關標籤/搜索