PHPのechoとは?変数・HTMLの出力から改行・表示されない原因まで使い方をわかりやすく解説のカバー画像

PHPのechoとは?変数・HTMLの出力から改行・表示されない原因まで使い方をわかりやすく解説

公開日:2025/06/24最終更新日:2025/06/24

PHPで画面にメッセージやデータを表示したいときに欠かせないのがechoです。出力処理の基本として頻繁に使われます。echoの使用は簡単そうで意外とつまずく方も多いのです。


本記事では、PHP echoの使い方や構文、printとの違い、表示されない原因と対処法まで、実例を交えてわかりやすく解説します。


1.PHPのechoとは?読み方は?

PHPを使ったプログラミングをしていると、処理結果やメッセージをブラウザに表示したい場面が出てきます。そんな時に便利なのはechoです。読み方は「エコー」です。PHPのechoは、出力処理の基本なので非常によく使われます。


ここではまず、PHPのechoに関する基本を解説します。

PHPのechoの基本構文

echoはPHPで画面に出力するための命令文です。基本構文は次のコード例の通りです。

echo "Hello, world!";

このコード例の処理結果は、ブラウザに「Hello, world!」と表示されます。echoに続いて出力したい文字列や変数を指定するだけなので、初心者の方でも簡単に使えるでしょう。


echoを使って文字列を表示するときには、シングルクォート「'」もしくはダブルクォート「"」で囲んでください。複数の文字列をまとめて出力したい場合は、カンマで区切ることも可能です。

echo "こんにちは、", "PHPの世界へようこそ!";

PHP以外でもechoが用意されているプログラミング言語がありますが、他のプログラミング言語と同様にPHPでも出力処理の基本として幅広く活用されています。ぜひ使い方をマスターして広く活用してみてください。

PHPのechoは関数ではない?

もしかするとechoをPHPの関数だと理解している人がいるかもしれませんが、echoは関数ではなくPHPが持つ言語構造の一種です。言語構造とはifやwhileなどと同じでプログラミング言語にハードコードされていて初めから存在する要素です。


echoは関数ではないため戻り値は持たず、出力専用の命令文として機能するのです。また、関数ではないため、前述の通り複数の文字列をカンマで区切って渡すことが可能です。ただし、次のように変数に代入はできないので注意してください。


エラーになる例

$text = echo "テキスト";

2.PHPにおけるechoとprintの違いとは?

PHPではechoのほかにprintを使ってでも画面出力が可能です。echoとprintは似ているようにも思えますが仕様が異なります。ここでは、echoとprintの違いと、使い分けるポイントについて解説します。

echoとprintの構文の違い

echoとprintはどちらも文字列や変数をブラウザに出力する命令です。一般的にはどちらも括弧を使いません。

echo "Hello, PHP!";

print "Hello, PHP!";

このコード例では、echoもprintも同じ処理結果になります。


なお、前章でも触れた通り、echoは複数の値をカンマ区切りで出力可能です。

echo "こんにちは", "世界"; // OK

一方で、printは複数の値をカンマ区切りで出力はできません。次のコードはエラーになります。

print "こんにちは", "世界";

複数の値を出力したい場合にはechoを使うことになるでしょう。

echoとprintの処理速度の違い

echoとprintの処理速度に大きな差はありませんが、echoがわずかに速いです。printが戻り値を返す必要がありますが、echoはその必要がないためです。


多くの場合で影響があるほどの差にはなりませんが、大量の出力処理が連続するような場面では、printよりもechoのほうがパフォーマンスに優れています。

echoとprintの戻り値の違い

printには戻り値がありますが、echoにはありません。printは常に戻り値として1を返す仕様になっていて、戻り値を使った処理を後続で使いたい場合に適しています。

$val = print "Hello";

このコード例で$valには1が入っています。


対してechoは戻り値を持たないため、値として扱うことはできません。echoの戻り値を変数に代入しようとすると、構文エラーになるので注意しましょう。

PHPでechoとprintを使い分けるポイント

echoとprintではあまり大きな違いがないため、画面出力したい場合にはechoが使われることが多いです。あえて理由を挙げるとすれば、複数の値を出力できる、書き方がシンプルで扱いやすい、printに比べると処理が速いなどが挙げられます。


一方で、戻り値が必要な場面ではprintを使う必要があります。画面出力したい場合には基本的にはechoを使い、必要な場面だけにprintを使うというのが現実的でしょう。


関連記事

PHPプログラミングとは?将来性や実践で活用できるコード例など初心者にわかりやすく解説

3.PHPにおけるechoの使い方

PHPでechoを使うと、テキスト・変数・HTMLタグ・改行・条件付きの出力など、さまざまな出力に対応可能です。ここでは、PHPにおけるechoの使い方を解説します。

PHPのechoを使って文字列を表示する

もっとも基本的なechoの使い方は、文字列をそのまま表示するものです。

echo "PHPのechoを使って出力しています!";

文字列を出力するときには、ダブルクォート「"」かシングルクォート「'」で囲んでください。PHPではどちらも使用可能なのですが、ダブルクォートでは変数が展開され、シングルクォートでは展開されないという違いがありますので気をつけましょう。

$name = "Taro";


echo "こんにちは、$name さん";

このコード例では「こんにちは、Taro さん」と表示されます。

$name = "Taro";


echo 'こんにちは、$name さん';

一方でこのコード例では「こんにちは、$name さん」と表示されます。

PHPのechoを使って変数を出力する

直前の例では、文字列の中にダブルクォートで囲んだ変数が含まれたものを出力する例を紹介しました。もちろん変数だけでもechoで出力可能です。

$greeting = "こんにちは";

echo $greeting;

このコード例の処理結果は、変数$greetingの中身がそのまま出力され、「こんにちは」と表示されます。

PHPのechoを使ってHTMLを出力する

PHPのechoを使うとHTMLタグもそのまま出力できます。PHPはHTMLと組み合わせて使う機会が多いです。echoにダブルクォート内にHTMLタグを含めることで、PHPから動的にHTMLを生成できます。


コード例

echo "<p>これは段落です。</p>";

HTMLの属性値に変数を使いたい場合には、文字列を連結して書くと対応可能です。

$color = "red";

echo "<p style='color: " . $color . ";'>文字の色を変更</p>";

ここで気を付けなければならないのは、ダブルクォートの中にダブルクォートを入れると構文エラーになる点です。シングルクォートで囲むか、エスケープシーケンス「\」を使用しましょう。

echo "<input type=\"text\" name=\"username\">";

PHPのechoを使って改行を出力する

PHPで出力をする場合に、見た目を整えるために改行したいことがあるはずです。改行で注意しなければいけないのは、出力先がHTMLなのかコンソールなのかによって異なる点です。

改行コードの違い(\nと<br>の違い)

PHPで改行を表すには、2つの方法があります。

  • \n:ラインフィード(LF)を意味し、サーバー上では改行されますがブラウザ上では反映されません

  • <br>:HTMLタグの改行なのでブラウザで改行として機能します。

ブラウザでは改行されず、1行で表示される例

echo "1行目\n2行目";

ブラウザ上できちんと改行される例

echo "1行目<br>2行目";

ブラウザで見た目通りの改行を入れたい場合には、必ず<br>タグを使用してください。

複数行を出力する

複数行のテキストを出力したい場合、次のように書くことで対応可能です。

echo "これは1行目です。<br>";

echo "これは2行目です。<br>";

echo "これは3行目です。<br>";

3行表示させたい部分を、3行使ってコードを書くため、わかりやすいコードかもしれません。一方ですっきりとしたコードにしたい場合には、連結演算子「.」を使って、1つのechoで複数行を出力することも可能です。

echo "1行目<br>" . "2行目<br>" . "3行目";

なお、複雑な改行処理が必要な場合は、管理しやすいようにテンプレートエンジンやHTMLファイルとの分離を考えましょう。

PHPのechoを使うとどこに出力される?

PHPのechoを使うと、出力された内容はHTMLとしてブラウザに返されるため、基本的にはHTMLドキュメント内に直接挿入されます。表示位置は、PHPコードが書かれている場所とHTML構造によって決まります。

echo出力される場所

echoで出力された内容は、PHPのコードが書かれている場所に挿入されます。たとえば、次のコード例のようにHTML内にechoがあれば、表示もその位置になります。

<body>

  <h1>タイトル</h1>

  <?php echo "ここに出力されます"; ?>

  <footer>フッター</footer>

</body>

この場合、「ここに出力されます」が<h1>の下、<footer>の上に表示されます。

echoの位置に注意

PHPでechoを使用しても、思った通りの場所に出力できない場合があります。特に注意が必要なのは次のような場合です。

  • header関数の後で出力が行われてしまうと、リダイレクトが失敗する

  • HTML構造を無視して任意の位置にechoを記述すると、ページレイアウトが崩れる

  • JavaScriptやCSS内に出力してしまい、構文エラーになる

思い通りの場所に出力するためには、HTMLとPHPの関係を意識しながらプログラミングすることが重要です。

条件分岐とechoを組み合わせる

Webサイトでは条件に応じて異なる内容を表示したい場合には、if文とechoを組み合わせましょう。

$loggedIn = true;


if ($loggedIn) {

  echo "ようこそ、ユーザー様";

} else {

  echo "ログインしてください";

}

このコード例のように、条件に応じて表示内容を分けることができます。簡単な文字列だけでなく、もちろんHTMLの出力も可能なので、タグを含めた複雑な構造も出力できます。

if ($isAdmin) {

  echo "<p>管理者メニューへ</p>";

}

配列の中身をechoで出力する

PHPではechoだけで配列の要素を出力することはできません。

$data = ["PHP", "JavaScript", "Python"];

echo $data;

配列は文字列に変換されないため、このコード例のように配列をそのまま出力しようとするとWarningが発生し、「Array」という文字列が出力されてしまいます。


配列に含まれる個別の要素を出力したい場合は、インデックスを指定して出力しましょう。

$data = ["PHP", "JavaScript", "Python"];

echo $data[1];

このコード例では「JavaScript」が表示されます。


配列全体を出力したいときは、ループや組み込み関数を使ってください。

foreach ($data as $language) {

  echo $language . "<br>";

}

このコード例では、配列の要素を順に表示し、それぞれの要素の間に<br>を出力します。


出力例

PHP

JavaScript

Python


関連記事

PHPのdate関数完全ガイド|フォーマット表示からstrtotime・日付比較・WordPress実装まで

4.PHPのechoを使ってみましょう

ここまでechoの使い方や特徴について解説してきました。構文、出力形式、注意点などを理解できたら、次はぜひ実際にPHPでechoを使ってみましょう。実際にコードを書いて動かして試してみることがPHPやプログラミングの学習に役立つはずです。


ここでは初心者でもすぐに試すことができる簡単なサンプルコードを紹介します。実際に手を動かしながら確認してみてください。

例1:入力フォームから名前を取得して表示する

フォームに名前を入力し、その入力値を画面に出力する例です。

<!-- form.php -->

<form method="get" action="form.php">

  <label for="name">お名前:</label>

  <input type="text" id="name" name="name">

  <input type="submit" value="送信">

</form>


<?php

if (isset($_GET["name"])) {

  $name = htmlspecialchars($_GET["name"]);

  echo "こんにちは、" . $name . "さん!";

}

?>

なおこのコード例では、入力された名前が安全に表示されるよう、htmlspecialcharsでエスケープ処理を行っています。

例2:現在の日付と時間を表示する

PHPのdate関数とechoを組み合わせれば、現在の日時を画面に出力できます。

<?php

echo "現在の日時:";

echo date("Y年m月d日 H:i:s");

?>

予約サイトや更新履歴ページなど、日付と時間の表示をする機会は多いです。画面表示のほかにも、ログファイルへの出力などにも活用可能です。

例3:HTMLテンプレート内に変数を埋め込んで出力する

テンプレート内で変数の値を差し込む例です。HTMLとPHPを組み合わせた実用的な構成で、タイトルや見出しに動的な内容を出力可能です。

<?php $pageTitle = "PHP学習中"; ?>

<!DOCTYPE html>

<html lang="ja">

<head>

  <meta charset="UTF-8">

  <title><?php echo $pageTitle; ?></title>

</head>

<body>

  <h1><?php echo $pageTitle; ?>へようこそ!</h1>

</body>

</html>

この方法を活用すれば、Webページの一部だけを動的に切り替えることができます。

5.PHPのechoを使っても表示されない原因と対処方法

echoを使用したのにブラウザに何も表示されない場合は、PHPのコードに何らかの原因があることが考えられます。ここでは、PHPのechoを使っても表示されない原因と対処方法について解説します。

記述ミス・構文エラーをまず疑う

PHPのechoを使っても表示されないときのもっとも基本的な原因は、PHPの記述ミス・構文エラーです。echoを使うときに限ったことではないのですが、次のようなミスが良く見受けられますので、まずはチェックしてみてください。

  • 文末のセミコロン漏れ(例:echo "Hello" ← セミコロンがない)

  • スペルミス(echoをechhoとかecohと書いてしまう)

  • 「<?php」や「?>」 の書き忘れ

  • シングルクォートやダブルクォートが片方だけになって不完全な状態

クォートや変数展開の誤りを修正する

PHPではシングルクォートとダブルクォートの使い方によって処理が変わります。変数の中身を展開しようとしているのにシングルクォートを使うと、意図通りに出力されません。

$name = "Taro";

echo 'こんにちは、$nameさん';

このコード例では「$nameさん」と表示されてしまいます。

HTML・PHPタグとechoの配置を見直す

PHPは記述する位置によっても出力の挙動が変わってしまいます。特にHTMLと混在させて記述する場合や、出力のタイミングが重要な場合には注意しましょう。

  • header関数より前にechoがあるとリダイレクトが失敗する

  • HTML構造の中に不適切な位置でechoを挿入すると、表示が崩れる

  • <head>内で意図せず文字列を出力してしまい、ブラウザが正しく解釈できなくなる


関連記事

PHPのheader関数を完全解説!リダイレクト・Content-Type・エラー対策まで


PHPリダイレクトの使い方ガイド!header以外・値渡し・条件分岐・時間指定も徹底解説

6.まとめ

本記事では、PHPのechoの基本的な使い方から、printとの違いや実践的な応用方法まで幅広く解説しました。echoを理解し使いこなすことができれば、Web開発なのでできることが広がるはずです。ぜひ本記事のコード例を参考に自身の手で実際にPHPのechoを試してみてください。


本記事が皆様にとって少しでもお役に立てますと幸いです。


フリーランスボード」は、数多くのフリーランスエージェントが掲載するITフリーランスエンジニア・ITフリーランス向けの案件・求人を一括検索できるサイトです。


開発環境、職種、単価、稼働形態、稼働日数など様々な条件から、あなたに最適なフリーランス案件・求人を簡単に見つけることができます。

単価アップを目指す方や、自分の得意なスキルを活かせる案件に参画したい方は、ぜひ「フリーランスボード」をご利用ください。


自身に最適なフリーランスエージェントを探したい方はこちらよりご確認いただけます。

PHPのechoとは?変数・HTMLの出力から改行・表示されない原因まで使い方をわかりやすく解説に関するよくある質問

PHPのechoの基本的な役割は何ですか?

echoは関数とどう違いますか?

echoとprintの主な違いは?

echoとprintのどちらが速いですか?

echoでHTMLタグを出力する方法は?

ブラウザでの改行には何を使いますか?

echoの出力はどこに表示されますか?

echoで変数を表示する際の注意点は?

echoで配列全体を出力できますか?

echoが表示されない時の原因は?

無料で登録したらスカウトを待つだけ フリーランスの新しい仕事探しを始めよう

この記事の監修者

笠間 慎

大学卒業後、人材紹介会社にコンサルタントとして従事。フリーランスとして独立。その後、フリーランス案件サイト「フリーランススタート」の立ち上げに編集長兼ライターとして参画し、月間30万人が利用する人気メディアへと成長させる。 2024年より、フリーランスボード編集長に就任。自身の経験を元に、フリーランスの活躍を支援する情報を発信している。

運営者情報

「フリーランスボード」はINSTANTROOM株式会社によって運営されています。編集は同社のフリーランスボードコンテンツ制作チームが担当しています。

会社名

INSTANTROOM株式会社

設立年月日

2021年3月31日

事業内容

フリーランスボード

ギョーテン

EngineerDASH

FreelanceBase

コンテンツ制作

運営ポリシー

フリーランスボードは、すべてのフリーランスが安心して活躍できる社会を目指し、公平かつ信頼できる情報を分かりやすく提供することに努めます。 私たちは、一次情報に基づいた正確なコンテンツや求人案件情報を通じ、 フリーランスの皆さまが最適な案件選びやキャリア形成を行えるようサポートします。

フリーランスボードの調査リリース

ITフリーランス及びフリーランスエージェント市場白書 2025フリーランスエージェント及びITフリーランス人材の市場調査【2024年版】

フルリモート案件を 無料登録した方限定で配信中

目次

1.PHPのechoとは?読み方は?

PHPのechoの基本構文

PHPのechoは関数ではない?

2.PHPにおけるechoとprintの違いとは?

echoとprintの構文の違い

echoとprintの処理速度の違い

echoとprintの戻り値の違い

PHPでechoとprintを使い分けるポイント

3.PHPにおけるechoの使い方

PHPのechoを使って文字列を表示する

PHPのechoを使って変数を出力する

PHPのechoを使ってHTMLを出力する

PHPのechoを使って改行を出力する

改行コードの違い(\nと<br>の違い)

複数行を出力する

PHPのechoを使うとどこに出力される?

echo出力される場所

echoの位置に注意

条件分岐とechoを組み合わせる

配列の中身をechoで出力する

4.PHPのechoを使ってみましょう

例1:入力フォームから名前を取得して表示する

例2:現在の日付と時間を表示する

例3:HTMLテンプレート内に変数を埋め込んで出力する

5.PHPのechoを使っても表示されない原因と対処方法

記述ミス・構文エラーをまず疑う

クォートや変数展開の誤りを修正する

HTML・PHPタグとechoの配置を見直す

6.まとめ