PHP中nowdoc和heredoc使用需要注意的一點
來源:易賢網(wǎng) 閱讀:734 次 日期:2014-08-22 09:37:55
溫馨提示:易賢網(wǎng)小編為您整理了“PHP中nowdoc和heredoc使用需要注意的一點”,方便廣大網(wǎng)友查閱!

多次使用 php nowdoc HereDoc 插入大量Hmtl都沒有成功,一樣提示語法有問題,事實上PHP手冊注明是這樣寫的,實在很奇怪

最后發(fā)現(xiàn)了問題所在,原來這類文檔在結(jié)束時,一定要靠近行的第一位,就是說EOF前面不能有空格,而為了代碼縮進,正好產(chǎn)生了這樣的問題.

代碼如下:

$str = <<<'EOD'

Example of string

spanning multiple lines

using nowdoc syntax.

EOD;//EOD一定要靠近前面,不能有空格,同時不要漏掉結(jié)束符分號;

附:heredoc和nowdoc的區(qū)別

heredoc使用 <<< EOT 的標示符,而nowdoc使用 <<< 'EOT' 這樣的標示符,其中nowdoc是PHP5.3引進的新技術(shù),它包含了heredoc的語法,只是其中的內(nèi)容絕對不會進行任何的轉(zhuǎn)義和解釋,是什么內(nèi)容就是什么內(nèi)容,不會解析PHP相關(guān)的內(nèi)容

heredoc中的PHP變量建議使用{$name->change()} 大括號括起來,這樣可以避免一定的歧義,如果要原樣輸出可以使用傳說中的轉(zhuǎn)義字符 ,轉(zhuǎn)義字符本身可以使用轉(zhuǎn)義字符進行輸出,即 這種表示方法,大括號之類的這些都需要轉(zhuǎn)義輸出。

為了保證的確可用,建議使用 heredoc 的語法,本身也帶有轉(zhuǎn)義,因為PHP5.3才引進的nowdoc語法,很多云托管壞境很有可能不支持導(dǎo)致歇菜。

最后強調(diào)下,heredoc是從PHP4.0開始引進的,而nowdoc語法則需要5.3版本,因為heredoc包含了nowdoc的功能,所以個人建議還是使用heredoc比較好些。

簡單來說:

1、heredoc是動態(tài)的 nowdoc是靜態(tài)的

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

3、heredoc是一種專門處理大段字符串的通用處理方案,而nowdoc是php為了彌補動態(tài)實現(xiàn)“heredoc”的效率問題而實現(xiàn)的“高效率”的靜態(tài)版本

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:PHP中nowdoc和heredoc使用需要注意的一點

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)