Nowdoc(Newdoc)
当ページのリンクには広告が含まれています。
ここではPHPスクリプトの「Nowdoc」について解説します。
※「Newdoc」と記述している書籍やサイトもありますが、「Newdoc」ではなく、正しくは「Nowdoc」です。
「Nowdoc」とは、バージョン「5.3.0」以降のPHPから利用できる構文で、「ヒアドキュメント」と同じく長い文字列を変数に代入したり、出力する場合に使います。
Nowdoc
Nowdoc構文で、長い文字列を変数に代入する場合は以下のような書式で記述します。
<?php $変数 = <<<'終了の文字列' 「文字列を記述」 終了の文字列; ?>
ヒアドキュメントとは異なり、「<<<」に続く「終了の文字列」をシングルクォーテーション「'」で囲みます(括ります)。
それではサンプルスクリプトをみてみましょう。
<?php $str_name = "太郎"; $str = <<<'EOF' Nowdoc構文です。 こんにちは。$str_name だよ。 ヒアドキュメントとは違います。 EOF; echo $str; ?>
実行結果です。ヒアドキュメントとは異なり、変数は展開されずにそのまま表示されます。
Nowdoc構文です。 こんにちは。$str_name だよ。 ヒアドキュメントとは違いますよ。
次は「エスケープシーケンス(特殊文字)」を使ったサンプルスクリプトです。
<?php echo <<<'EOF' こんに\tちは。 サンプルスクリプトだ\nよ。 EOF; ?>
実行結果です。エスケープシーケンスも変数と同じように展開されずにそのまま表示されることがわかります。
こんに\tちは。 サンプルスクリプトだ\nよ
次は「for - 繰り返し処理」をみてみましょう。