【PHP】ヒアドキュメントとナウドキュメントと変数の展開
2023-8-7 | PHP
PHPのヒアドキュメントとナウドキュメントと変数の展開についてメモしたい!
デバッグの時とかめちゃ長いクエリを直接書く時に便利。
概要
今回の記事では、PHPのヒアドキュメントとナウドキュメントと変数の展開についてメモを掲載する。
環境
- PHP 8.1.2
メモ
ヒアドキュメントとナウドキュメントとそれぞれの変数の展開についてメモ。
ヒアドキュメントと変数の展開
ヒアドキュメントを使うと複数行の文字列を処理できる。<<<EOD
とEOD;
で囲む感じ。
<?php
$str = <<<EOD
select id, name, age
from employee
where age > 30
EOD;
?>
ヒアドキュメントの中で変数を展開する。
<?php
$age = 30
$str = <<<EOD
select id, name, age
from employee
where age > $age
EOD;
?>
echo $str;
出力例。
select id, name, age
from employee
where age > 30
変数名の境界を指定する必要がある場合は、{$
と}
で囲む感じ。
<?php
$age = 30
$str = <<<EOD
select id, name, age
from employee
where age > {$age}
EOD;
?>
ナウドキュメントと変数の展開
ナウドキュメントでも複数行の文字列を処理できるが、変数名は展開されない。<<<'EOD'
とEOD;
で囲む感じ。(開始のEDO
をシングルクォーテーションで囲むみたいな)
<?php
$age = 30
$str = <<<'EOD'
select id, name, age
from employee
where age > $age
EOD;
?>
echo $str;
出力例。
select id, name, age
from employee
where age > $age
変数名$age
がそのまま出力される。
まとめ(感想文)
用途によって使い分けるんだ!