http://php.net/manual/ja/language.types.string.php
改行は改行コードとなる
<?php $a = "abc\ndef"; $b = <<<"__HOGE__" abc def __HOGE__; if($a===$b) printf("一緒");
最後の改行は含まれない。 ただし、スペースは含まれてしまう
<?php $A = <<< __HEREDOC__ Hello, Hello, __HEREDOC__; print($A."world!\n");
Hello, Hello, world!
※2回目のHello,の後ろにスペース入れといたら 出た
""で囲まれたときは変数などが展開される(囲んでないときも同様)
<?php $good = "bad"; $B = <<< "__HEREDOC__" $good Job!\n __HEREDOC__; print($B."end\n");
bad Job! end
''で囲まれたときは変数などが展開されない
NOWDOCと呼ぶらしい
<?php $good = "bad"; $C = <<< '__HEREDOC__' $good Job!\n __HEREDOC__; print($C."end\n");
$good Job!\nend
引数として扱うときは、終端IDの次の行でカッコを閉じる
※終端IDの後ろに ; 以外の文字が来るとエラーになる
<?php print( <<< __HEREDOC__ This is a pen. __HEREDOC__ );
This is a pen.