php中heredoc與nowdoc介紹

2022-10-06 11:12:15 字數 1325 閱讀 3781

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

1.以<<

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

複製** **如下:

$v=2; 

$a= <<

"abc"$v 

"123" 

eof; 

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

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

複製** **如下:

function outputhtml() 

function outputhtml() 

www.cppcns.com

outputhtml(); 

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

附:heredoc和nowdoc的區別

heredoc使用 <<< eot 的標示符,而nowdoc使用 <<< 'eot' 這樣的標示符,其中nowdoc是php5.3引進的新技術,它包含了heredoc的語法,只是其中的內容絕對不會進行任何的轉義和解釋,是什麼內容就是什麼內容,不會解析php相關的內容

heredoc中的php變數建議使用 大括號括起來,這樣可以避免一定的歧義,如果要原樣輸出可以使用傳說中的轉義字元 \ ,轉義字元本身可以使用轉義字元進行輸出,即 \ 這種表示方法,大括號之類的這些都需要轉義輸出。

為了保證的確可用,建議使用 heredoc 的語法,本身也帶有轉義,因為php5.3才引進的nowdoc語法,很多雲託管壞境很有可能不支援導致歇菜。

最後強調下,www.cppcns.comheredoc是從php4.0開始引進的,而nowdoc語法則需要5.3版本,因為heredoc包含了nowdoc的功能,所以個人建議還是使用heredoc比較好些。

簡單來說:

1、heredoc是動態的 nowdoc是靜態的

2、heredoc類似多行的雙引號 newdoc類似多行的單引號

3、heredoc是一種專門處理大段字串的通用處理方案,而nowdoc是php為了彌補動態實現「heredoc」的效率問題而實現的「高效率」的靜態版本

本文標題: php中heredoc與nowdoc介紹

本文位址:

php中heredoc和nowdoc的使用方法

heredoc技術,在正規的php文件中和技術書籍中一般沒有詳細講述,只是提到了這是一種perl風格的字串輸出技術。但是現在的一些論壇程式,和部分文章系統,都巧妙的使用heredoc技術,來部分的實現了介面與 的準分離,phpwind模板就是乙個典型的例子。如下 name 淺水遊 print hel...

php中heredoc的使用方法

svoting votes eos heredoc技術,在正規的php文件中和技術書籍中一般沒有詳細講述,只是提到了這是一種perl風格的字串輸出技術。1.以 開始標記開始,以end結束標記結束,結束標記必須頂頭寫,不能有縮排和空格,且在結束標記末尾要有分號。開始標記和開始標記相同,比如常用大寫的e...

PHP中的heredoc和nowdoc的使用

heredoc 結構就象是沒有使用雙引號的雙引號字串,這就是說在 heredoc 結構中單引號不用被轉義。其結構中的變數將被替換,但在 heredoc 結構中含有複雜的變數時要格外小心。其對格式化輸出內容時,比較有用 具體其有以下特點 1.開始標記和結束標記使用相同的字串,通常以大寫字母來寫。2.開...