今回は、phpの色々な値の表示方法について解説します。
phpには色々な値の表示方法があり、その用途は様々ですが、今回は以下の5つの値の表示方法について解説します。
- echo
- print_r
- var_dump
- var_export
これら5つの表示方法について簡単に説明すると、
echo と print は、ただ単に文字列を出力するのに対し、 print_r と var_dump 、 var_export は、主にデバッグをする際に使用します。

しかし、これらの表示方法は、どんな時にどれを使えば良いか最初はわからないと思います。
この記事では
echo、print、print_r、var_dump、var_export のそれぞれの用途やechoやprintの違いなどを、初心者の方に向けて優しく解説していきます。

echoとは
echoは、HTMLに文字列を出力する場合に使用し、echo の後ろに記述された変数や文字列を表示します。
文字列を指定する場合は、「"」(ダブルクォーテーション)または「'」(シングルクォーテーション) で囲みます。

1つの値を出力する場合
1つの値を出力する場合は、echo の後ろにその値を記述します。
構文
例文
複数の値を出力する場合
複数の値を出力する場合は、echoの後ろに「,」(カンマ)で区切って記述します。
</>php<?php echo "こんにちは"; echo "<br>";
echo "今日は" , "良い" , "天気ですね"; ?>
カンマで区切った複数の文字列が、一つの文章として表示されているのがわかると思います。
また、"<br>"などのHTMLタグを認識するのでウェブブラウザで改行することも可能です。
変数と文字列を出力する場合
変数と文字列を一緒に出力することもできます。
「今日は良い天気ですね」を変数 str に代入して、文字列「こんにちは」と一緒に出力してみます。
</>php<?php
$str = "今日は良い天気ですね";
echo "こんにちは","<br>",$str;
?>
結果は先程と同じですね。
もう少し詳しく
- echoは関数ではなく言語構造なので、引数を ()「カッコ」で括る必要はありません。
- () を使用できるのは値が1つの場合のみです。(でも、あまりオススメしません、、)
- 戻り値はありません。

printとは
printも、echoと同じく引数に指定した1つの文字列を出力することができます。
こちらも関数ではないので、カッコをつける必要はありませんが、echoと違って単一の引数のみを受け付けるので、「,」(カンマ)で複数の値を同時に出力することはできません。
また、戻り値として常に1が返されます。
1つの値を出力する場合
構文
例文
複数の値を出力する場合
カンマで区切って複数の値を出力することはできませんが、「.」結合演算子を使用することで複数の値を結合し、一つの文字列を作成した上で出力することができます。
これはechoも同様です。
</>php<?php $str = "良い天気";
print "こんにちは";
print "<br>";
print "今日は" . $str . "ですね"; ?>
式として使用する場合
また、printはechoと違って式として扱うこともできるので、以下のようにif文の条件式の中に記述して使用することができます。
</>php <?phif( print " " ){ print "printは式で使えます!"; } else { print "printは式で使えません!"; } ?>
決して実用的とは言えませんが、式の中で使用できることは確認できました。

echoとprintの違いは?
echoもprintも文字列を出力するという点では共通していますが、両者の違いについてもう一度おさらいしてみましょう。
大きな違いは戻り値の有無ですが、単一の値を出力する場合は特に違いはありません。

print_rとは
print_r や var_dump 、var_export は、デバッグの際に変数の詳細を確認するために使用する関数です。
データ型や配列の詳細、エラー原因を調べる際に、これらの関数を使用することは多いのではないでしょうか。
その中の、print_r は指定した変数の情報をわかりやすく出力する際に使用します。
構文
例文
用途としては、配列の場合は「キーと値だけを確認したい」時など、結果を簡易的に確認する際に使用します。
それでは実際に確認してみましょう。
</>php <?php$array = array(
"key1" => "value1",
"key2" => "value2",
"key3" => "value3",
);
print_r($array); ?>
配列の中に入った3つそれぞれの「キー」と「値」を表示することができました。
もう少し詳しく
ちなみに、第二引数にtrueを指定すると、出力せずに戻り値を受け取ることができます。
これによって変数に格納することができ、ログファイルに書き出すと言った用途で使用することが可能です。

var_dump と var_export
var_dumpとは
var_dumpは、変数の詳細な情報を出力する際に使用する関数です。
先ほどのprint_rと比べ、例えば配列の中身を調べた場合は「キー」と「値」以外にもより詳細なデータを出力します。
構文
例文
では、実際に出力してみましょう。
先ほど説明したprint_rとの違いがわかりやすいように、同じ変数をvar_dumpで出力してみます。
</>php <?php$array = array(
"key1" => "value1",
"key2" => "value2",
"key3" => "value3",
);
var_dump($array); ?>
何やら長ったらしくて、難しそうな文字列が出力されましたね。
でも慣れると、とても便利でわかりやすい文章なんです。一部抜粋して、解説すると以下の通りです。
上記は、array(配列)の場合の解説ですが、文字列や数値の場合はまた違った形で出力されます。
var_exportとは
var_exportは、変数のデータ構造を出力する関数です。
var_dumpと似ていますが、第二引数にtrueを指定することで、有効なPHPコードとして返り値を取得することが出来ます。
構文
例文
では実際に見てみましょう。
違いがわかりやすいように先ほどと中身の同じ変数を出力してみます。
</>php <?php$array = array(
"key1" => "value1",
"key2" => "value2",
"key3" => "value3",
);
var_export($array,true);
?>
出力結果だけ見ると、print_rに似ていますね。

print_r と var_dump と var_exportの違い
文字列を出力する関数の中でも、デバッグの際に使用する関数としてprint_rとvar_dumpとvar_exportの紹介をしましたが、それぞれの違いをもう一度おさらいしてみましょう。
この3つの関数の用途をまとめると、以下のようになります。
- 変数の簡易なデータを確認したい → print_r
- 変数の詳細なデータを確認したい → print_dump
- 変数の情報を代入したい → print_r、var_export
- 変数のデータ構造を知りたい → var_dump、var_export
ちなみに3つの出力結果を並べると以下の通りです。それぞれ全て中身が同じ変数を出力した結果です。

最後に
いかがでしたでしょうか、今回はphpの基本である文字列の色々な出力方法について解説しました。
もっと詳しく学習したい方は、下の記事一覧から他の記事もご覧下さい。
-
-
php
続きを見る
