今日の人気記事

  1. 10進数 ⇔ 2進数変換 - decbin()、bindec()
  2. 比較演算子 - if、for、while の条件分岐に

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. コメント
  2. require、require_once - ファイルの取り込み
  3. 連想配列

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