デザインサプライ-DesignSupply.-※当ウェブサイトを快適に閲覧して頂くためにブラウザのjavascriptを有効にしてください0%ProgrammingプログラミングナレッジPosted:2019.06.21PHPで複数行に渡る文字列を出力するときに便利なヒアドキュメントPHPPHPバックエンドPHPではHTMLやテキストの文字列を出力するケースも多々ありますが、複数行にわたるテキストやネスト構造のHTMLなどを扱う場合に普通の文字列として変数に入れたりするのは、コードの視認性が悪くなったり、面倒なのではないでしょうか。そこで改行を自由に使えるヒアドキュメントを使った方法について見ていきたいと思います。ヒアドキュメントを使わない場合に複数行のテキストやHTMLはどのようにコード上に記述するか見ていきましょう。$content?>このように変数に連結演算子と呼ばれる「.」ドットを使って変数をつなげていくことで、改行して見えるようにしています。コードに無駄な部分があったり、記述に手間がかかったりなど少し面倒ですよね。そこでヒアドキュメントという方法を使います。実際にヒアドキュメントを使った例を見ていきます。$content?>まず、変数を定義するのですが、最初に「<<<」の文字を記述することで、ヒアドキュメントを定義することができます。この直後に続く文字に挟まれた部分がヒアドキュメントとして扱われます。文字の部分は上記では「EOD」という文字にしていますが、ここは自由に決めれます。Documentの頭文字をとったEODと表記したり、近い意味の文字が使われることが多いようです。この文字に挟まれた間の部分では改行なども自由に使えるので、見た目でも実際のものと近いイメージでテキストやHTMLを扱うことができます。実際にHTMLとして出力されるとこのような形になります。酔ひもせず</p>このヒアドキュメントですが、いろんなところで使われていますが、このサイトでも過去記事「PHPで自動返信メール機能付きのコンタクトフォームを作成する(送信画面)」で紹介しているメールフォームでの返信メール文面などで使うこともできます。EODメールフォームより下記の内容でお問い合わせがありました。$MAIL_HEADER);?>このように見た目と近い形でテキストが書くことがで、「\n」といった改行コードも不要なのでスッキリしますね。ヒアドキュメント内で変数を使う場合には波括弧で囲んであげます。関数は使えないので、変数に代入するなどで対応します。・ヒアドキュメントの開始文字と終了文字は合わせる・ヒアドキュメントの終了文字直前にインデントは入れない・ヒアドキュメントの終了文字直後には改行を入れるなどの項目についてエラーが発生しないように確認しましょう。いかがでしょうか、PHPで複数行にわたる文字列や入れ子構造のHTMLなどを扱う場合にはヒアドキュメントを使用することで、すっきりと見た目もわかりやすく記述することができます。バグの発生なども防げると思いますので、ぜひ積極的に使用していきたいですね。ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちらデザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。コメントをキャンセル記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。メールアドレスは公開されませんのでご安心ください。付いている欄は必須項目となります。コメント内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。*次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。javascriptで配列を扱う時によく使うメソッド#10【配列を文字列にする・多次元配列をフラットにする。