今日の人気記事

まだデータがありません。

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 - 繰り返し処理」をみてみましょう。

文字列 の人気記事

  1. PHPスクリプト - 基本的な記述方法 - 書き方の基本
  2. HTML内でPHPスクリプトを実行 - 埋め込み
  3. require、require_once - ファイルの取り込み
  4. エスケープシーケンス - 特殊文字
  5. 連想配列
  6. ヒアドキュメント
  7. Nowdoc(Newdoc)
  8. 文字列をHTMLエンティティ化 - htmlentities()

関連記事(一部広告含む)