程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中nowdoc和heredoc使用需要注意的一點

PHP中nowdoc和heredoc使用需要注意的一點

編輯:PHP綜合

最後發現了問題所在,原來這類文檔在結束時,一定要靠近行的第一位,就是說EOF前面不能有空格,而為了代碼縮進,正好產生了這樣的問題.
復制代碼 代碼如下:
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
EOD;//EOD一定要靠近前面,不能有空格,同時不要漏掉結束符分號;

附: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”的效率問題而實現的“高效率”的靜態版本

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved