界定符heredoc和nowdoc的區別

2021-07-13 03:42:19 字數 604 閱讀 8377

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

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

為了保證的確可用,建議使用 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 界定符( ),單雙引號

三者雙引號 單引號 界定符 比較如下 1 單引號 單引號是不做內容解析的,即原樣輸出,a 123 echo 這是 a 2 雙引號 雙引號會對引號內的內容做解析,a 123 echo 這是 a 3 界定符 主要用於一些大的文字內容,如果中間包含已定義的變數 php也會解析,用於輸出,不用於定義字串 a...

php關於 界定符 的用法

目前已經學到php了,昨天配置了一下php的開發環境,各種小問題都已經得到解決 source heredoc技術,在正規的php文件中和技術書籍中一般沒有詳細講述,只是提到了這是一種perl風格的字串輸出技術。但是現在的一些論壇程式,和部分文章系統,都巧妙的使用heredoc技術,來部分的實現了介面...

heredoc和nowdoc的區別

多次使用 php nowdoc heredoc 插入大量hmtl都沒有成功,一樣提示語法有問題,事實上php手冊註明是這樣寫的,實在很奇怪 最後發現了問題所在,原來這類文件在結束時,一定要靠近行的第一位,就是說eof前面不能有空格,而為了 縮排,正好產生了這樣的問題.如下 str eod examp...