heredoc是什麼?它能為PHP做什麼?
在php中,存在一種定義字串的方法,這就是heredoc;它可以在在命令列shell(如sh、csh、ksh、bash、PowerShell和zsh)和程式語言(像Perl、PHP、Python和Ruby)之中去定義。
首先我們來看一個小小的栗子。
<?php $name="runoob"; $a= <<<EOF "abc"$name "123" EOF; // 結束需要獨立一行且前後不能空格 echo $a; ?>
我們看這段程式碼,好像“$a=
”後面的程式碼十分奇特啊,居然使用了“<<<
”,而且它還有兩個一樣的EOF單詞,這是什麼呢?這又有什麼意思呢?
在PHP中,如果我們想在命令列shell裡或是在程式語言定義字串,我們有一個特定的格式,就是.以<<<EOF
開始標記開始,以EOF
結束標記結束。
我們瞭解了heredoc,那我們去看看使用heredoc的方法吧。
1. 必須在EOF結束標記後接分號,否則編譯通不過。
2. 只要保證結束標識與開始標識一致,開始標記和結束標記可以用任意其它字元代替。
3. 結束標記必須佔據頂部網格中的一行(它必須從行首開始,後面不能有任何空格和字元)。
4.開始識別符號可以沒有引號,也可以有單引號和雙引號。不帶引號的效果與帶雙引號的效果相同。解釋嵌入變數和轉義符號。對於單引號,嵌入變數和轉義符號不會被解釋。
5.當內容需要嵌入引號(單引號或雙引號)時,不需要新增轉義符。內容本身避開了單引號和雙引號,這等同於Q和QQ的用法。
知道了那麼多使用heredoc的方法之後,我們去看看注意事項吧,避免我們寫出來的程式碼無法使用啊,或是出現其他的問題。
1.以<<<EOF開始標籤開始,以EOF結束標籤結束。結束標記必須寫在開頭,沒有縮排和空格,並且結束標記的結尾必須有分號。
2.開始標記與結束標記相同,例如大寫的EOT、EOD和EOF,但不限於那些(JSON、HTML等),只要開始標記和結束標記不出現在正文中。
3.開始標籤和結束標籤之間的變數可以正常解析,但函式不能。在heredoc中,變數不需要用連線符.
或,
來將它們連線到一起,就想我們上面例子裡的“"abc"$name
”一樣。
就說到這裡了,有其他想知道的,可以點選這個哦。→ →
以上就是heredoc是什麼?它能為PHP做什麼?的詳細內容,更多請關注php中文網其它相關文章!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/810/viewspace-2827629/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PHP - 什麼是 PHP? 為什麼用 PHP? 有誰在用 PHP?PHP
- 什麼是智慧礦山?它能解決什麼問題?
- 什麼是PHPPHP
- Java是什麼_Java是做什麼的?Java
- 為什麼?它能驅趕你的飢餓?”
- Java動態代理與靜態代理以及它能為我們做什麼Java
- 運維工程師是什麼?做什麼?運維工程師
- 雲主機是什麼?可以做什麼?
- IO優化是怎麼做的,使用 SharedPreferences為什麼這麼卡,mmkv原理是什麼優化
- 人是什麼?人生是什麼?人為什麼會變?
- 機器學習可解釋性系列 - 是什麼&為什麼&怎麼做機器學習
- 什麼是python?與PHP有什麼區別?PythonPHP
- 為什麼要有 Servlet ,什麼是 Servlet 容器,什麼是 Web 容器?ServletWeb
- JavaEE是做什麼的?Java
- PHP-FPM 是什麼?PHP
- GC是什麼?為什麼要有GC?GC
- 什麼是Docker?為什麼使用docker?Docker
- 什麼是框架?為什麼說 Angular 是框架?框架Angular
- Python是什麼?為什麼這麼搶手?Python
- Kali Linux是什麼?可以用來做什麼?Linux
- 什麼是web前端?前端可以做什麼?html5有什麼用?Web前端HTML
- 架構C01: 什麼是架構?為什麼做架構?架構師需要做什麼?架構
- ITAM是什麼?為什麼它很重要?
- Python是什麼?為什麼要掌握python?Python
- Elasticsearch:是什麼?你為什麼需要他?Elasticsearch
- TypeScript是什麼,為什麼要使用它?TypeScript
- 什麼是HSTS,為什麼要使用它?
- 什麼是Nginx?Linux為什麼使用Nginx?NginxLinux
- 關於程式碼重構的靈魂三問:是什麼?為什麼?怎麼做?
- php中QPM框架是什麼?PHP框架
- php檔案鎖是什麼PHP
- php之Symfony框架是什麼PHP框架
- 什麼是Python?Python為什麼這麼搶手?Python
- 為什麼不做開發做運維?Linux為什麼這麼廣泛?運維Linux
- Twitter能為你做什麼?
- 為什麼Swoole可以加速phpPHP
- 為什麼要學習Python?Python可以做什麼事情?Python
- 非同步 PHP:為什麼? ( Asynchronous PHP: Why?)非同步PHP