揮発性のメモ2

知識をメモ書きしておく

PHPのヒアドキュメントの使い方

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.