中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php中heredoc與nowdoc的作用是什么

發布時間:2021-01-15 17:02:22 來源:億速云 閱讀:219 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關php中heredoc與nowdoc的作用是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

Heredoc技術,在正規的PHP文檔中和技術書籍中一般沒有詳細講述,只是提到了這是一種Perl風格的字符串輸出技術。但是現在的一些論壇程序,和部分文章系統,都巧妙的使用heredoc技術,來部分的實現了界面與代碼的準分離,phpwind模板就是一個典型的例子。  

1.以<<<End開始標記開始,以End結束標記結束,結束標記必須頂頭寫,不能有縮進和空格,且在結束標記末尾要有分號 。開始標記和開始標記相同,比如常用大寫的EOT、EOD、EOF來表示,但是不只限于那幾個,只要保證開始標記和結束標記不在正文中出現即可。  

2.位于開始標記和結束標記之間的變量可以被正常解析,但是函數則不可以。在heredoc中,變量不需要用連接符.或,來拼接,如下: 

復制代碼 代碼如下:


$v=2; 
$a= <<<EOF 
"abc"$v 
"123" 
EOF; 
echo $a; //結果連同雙引號一起輸出:"abc"2 "123" 

3.heredoc常用在輸出包含大量HTML語法d文檔的時候。比如:函數outputhtml()要輸出HTML的主頁。可以有兩種寫法。很明顯第二種寫法比較簡單和易于閱讀。 

復制代碼 代碼如下:


function outputhtml(){ 
echo "<html>"; 
echo "<head><title>主頁</title></head>";  
echo "<body>主頁內容</body>"; 
echo "</html>; 

function outputhtml() 

echo <<<EOT 
   <html> 
   <head><title>主頁</title></head> 
   <body>主頁內容</body> 
   </html> 
EOT; 

outputhtml(); 

在heredoc中會自動替換其中的$變量,將命令和輸入放在一塊,方便 

附:heredoc和nowdoc的區別

heredoc使用 <<< EOT 的標示符,而nowdoc使用 <<< 'EOT' 這樣的標示符,其中nowdoc是PHP5.3引進的新技術,它包含了heredoc的語法,只是其中的內容絕對不會進行任何的轉義和解釋,是什么內容就是什么內容,不會解析PHP相關的內容
heredoc中的PHP變量建議使用{$name->change()} 大括號括起來,這樣可以避免一定的歧義,如果要原樣輸出可以使用傳說中的轉義字符 \ ,轉義字符本身可以使用轉義字符進行輸出,即 \ 這種表示方法,大括號之類的這些都需要轉義輸出。
為了保證的確可用,建議使用 heredoc 的語法,本身也帶有轉義,因為PHP5.3才引進的nowdoc語法,很多云托管壞境很有可能不支持導致歇菜。
最后強調下,heredoc是從PHP4.0開始引進的,而nowdoc語法則需要5.3版本,因為heredoc包含了nowdoc的功能,所以個人建議還是使用heredoc比較好些。

簡單來說:

1、heredoc是動態的 nowdoc是靜態的
2、heredoc類似多行的雙引號 newdoc類似多行的單引號
3、heredoc是一種專門處理大段字符串的通用處理方案,而nowdoc是php為了彌補動態實現“heredoc”的效率問題而實現的“高效率”的靜態版本

看完上述內容,你們對php中heredoc與nowdoc的作用是什么有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鸡东县| 桐庐县| 修武县| 衡南县| 航空| 新宾| 三台县| 孝昌县| 长宁区| 日照市| 吉首市| 苏尼特左旗| 轮台县| 将乐县| 靖州| 磐安县| 泽库县| 通榆县| 鹤峰县| 卢龙县| 潜江市| 扎赉特旗| 壤塘县| 大埔区| 称多县| 依兰县| 桦甸市| 阜南县| 武平县| 永春县| 淮南市| 霍林郭勒市| 辽宁省| 武鸣县| 浮梁县| 克东县| 桃园市| 陆良县| 化德县| 永昌县| 炎陵县|