PHP中nowdoc和heredoc使用需要注意的一點(diǎn)
最后發(fā)現(xiàn)了問題所在,原來這類文檔在結(jié)束時(shí),一定要靠近行的第一位,就是說EOF前面不能有空格,而為了代碼縮進(jìn),正好產(chǎn)生了這樣的問題.
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;//EOD一定要靠近前面,不能有空格,同時(shí)不要漏掉結(jié)束符分號(hào);
附:heredoc和nowdoc的區(qū)別
heredoc使用 <<< EOT 的標(biāo)示符,而nowdoc使用 <<< 'EOT' 這樣的標(biāo)示符,其中nowdoc是PHP5.3引進(jìn)的新技術(shù),它包含了heredoc的語(yǔ)法,只是其中的內(nèi)容絕對(duì)不會(huì)進(jìn)行任何的轉(zhuǎn)義和解釋,是什么內(nèi)容就是什么內(nèi)容,不會(huì)解析PHP相關(guān)的內(nèi)容
heredoc中的PHP變量建議使用{$name->change()} 大括號(hào)括起來,這樣可以避免一定的歧義,如果要原樣輸出可以使用傳說中的轉(zhuǎn)義字符 \ ,轉(zhuǎn)義字符本身可以使用轉(zhuǎn)義字符進(jìn)行輸出,即 \ 這種表示方法,大括號(hào)之類的這些都需要轉(zhuǎn)義輸出。
為了保證的確可用,建議使用 heredoc 的語(yǔ)法,本身也帶有轉(zhuǎn)義,因?yàn)镻HP5.3才引進(jìn)的nowdoc語(yǔ)法,很多云托管壞境很有可能不支持導(dǎo)致歇菜。
最后強(qiáng)調(diào)下,heredoc是從PHP4.0開始引進(jìn)的,而nowdoc語(yǔ)法則需要5.3版本,因?yàn)閔eredoc包含了nowdoc的功能,所以個(gè)人建議還是使用heredoc比較好些。
簡(jiǎn)單來說:
1、heredoc是動(dòng)態(tài)的 nowdoc是靜態(tài)的
2、heredoc類似多行的雙引號(hào) newdoc類似多行的單引號(hào)
3、heredoc是一種專門處理大段字符串的通用處理方案,而nowdoc是php為了彌補(bǔ)動(dòng)態(tài)實(shí)現(xiàn)“heredoc”的效率問題而實(shí)現(xiàn)的“高效率”的靜態(tài)版本
相關(guān)文章
PHP 讀取大文件并顯示的簡(jiǎn)單實(shí)例(推薦)
下面小編就為大家?guī)硪黄狿HP 讀取大文件并顯示的簡(jiǎn)單實(shí)例(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08PHP實(shí)現(xiàn)的微信APP支付功能示例【基于TP5框架】
這篇文章主要介紹了PHP實(shí)現(xiàn)的微信APP支付功能,結(jié)合實(shí)例形式分析了基于TP5框架的微信APP支付相關(guān)原理、操作步驟與處理技巧,需要的朋友可以參考下2019-09-09php微信高級(jí)接口調(diào)用方法(自定義菜單接口、客服接口、二維碼)
這篇文章主要為大家詳細(xì)介紹了php微信高級(jí)接口調(diào)用方法,包括自定義菜單接口、客服接口、二維碼等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11laravel5.5添加echarts實(shí)現(xiàn)畫圖功能的方法
今天小編就為大家分享一篇laravel5.5添加echarts實(shí)現(xiàn)畫圖功能的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10