作成日:2019-07-06, 更新日:2019-07-06
基本
インデントが無茶苦茶になってソースが見づらくなるから好きじゃない・・・
・「<<<」の後に「任意の文字列」で始める
・最初に使った「任意の文字列」に「;」を追加して終わらせる。
▼サンプル
<<<EOD 〇〇〇 EOD;
※上記では「EOD」だが何でも良いっぽい(ダメな文字列があるかもしれない)
よく使われる文字列
・EOM(End Of Message)
・EOD(End Of Document)
・EOF(End Of File)
ヒアドキュメントを使った場合と使わない場合
出力させるサンプル
▼ヒアドキュメントを使って出力した場合
echo <<<EOD 鳥精 豚精 丸ごとシマウマ EOD;
▼ヒアドキュメントを使わない場合
echo '鳥精' ."\n"; echo '豚精' ."\n"; echo '丸ごとシマウマ' ."\n";
変数に入れる場合
▼ヒアドキュメントで変数にいれる場合
$hoge = <<<EOD 鳥精 豚精 丸ごとシマウマ EOD;
▼ヒアドキュメントを使わない場合
$hoge = '鳥精' ."\n"
. '豚精' ."\n"
. '丸ごとシマウマ' ."\n";
ヒアドキュメント内で変数を使う
・「{}」で囲む
$foo = '砂肝';
$hoge = <<<EOD
鳥精
豚精
丸ごとシマウマ
{$foo};
EOD;
ヒアドキュメント内で関数を使う
そのままだとムリ。ひと手間必要。
クラスを作ってメソッドとして呼び出す
class clsHoge {
function func01() {
return 〇〇〇;
}
}
$objHoge = new clsHoge();
$hoge = <<<EOD
鳥精
豚精
丸ごとシマウマ
{$objHoge->func01()}
EOD;
可変変数を使う
▼「echo number_format(〇〇〇);」をヒアドキュメントで使う
$func = 'number_format';
$arg = 123456789;
echo <<<EOD
{$func($arg)}
EOD;
あらかじめ変数にしておく
$hoge = number_format(123456789);
echo <<<EOD
{$hoge}
EOD;