作成日: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;