ヒアドキュメント内で配列変数の展開
2007/11/20 | PHPの基本
ヒアドキュメントは便利な機能だ。複数行に及ぶ文字列をクオーテーション("や’)で囲まなくても、変数に格納したり、出力に使用したりすることができる。それにヒアドキュメント内で変数を使用すれば、ちゃんと展開してさえもくれる。こんな感じ。
$str=’テクメモ';
$doc=<<<__TESTDOC
これはテストです。
$str
__TESTDOC
上記で$docには「これはテストです。(改行)テクメモ」というテキストが格納される。
もちろん$strのような単なる文字列が格納された変数だけではなく、配列の要素も代入することが可能なのだが、これには一工夫必要になる。
$strArray=array(‘mother’=>’ママ’,’father’=>’パパ’);
$doc=<<<__TESTDOC
{$strArray[‘father’]}
{$strArray[‘mother’]}
__TESTDOC
おわかりだろうか。通常は配列の各要素を指定する場合は「変数名[キー]」の形で指定するのだが、ヒアドキュメント内ではさらにそれらを{}でくくってやる必要がある。
普段あんまりヒアドキュメントを使うことがないので知らなかった。