php

【php】echoやprint、var_dumpなど色々な値の表示方法を初心者向けに徹底解説!

phpの値の色々な表示方法

 

今回は、phpの色々な値の表示方法について解説します。

 

phpには色々な値の表示方法があり、その用途は様々ですが、今回は以下の5つの値の表示方法について解説します。

  • echo
  • print
  • print_r
  • var_dump
  • var_export

これら5つの表示方法について簡単に説明すると、

echoprint は、ただ単に文字列を出力するのに対し、 print_rvar_dumpvar_export は、主にデバッグをする際に使用します。

ちなみに、デバッグはプログラムのバグの原因を取り除く作業のことだよ。

しかし、これらの表示方法は、どんな時どれを使えば良いか最初はわからないと思います。

 

この記事では

echoprintprint_rvar_dumpvar_export のそれぞれの用途echoやprintの違いなどを、初心者の方に向けて優しく解説していきます。

 

できるだけわかりやすく解説するので、ぜひ最後まで読んでみて下さいね!

目次

echoとはprintとはechoとprintとは
print_rとはvar_dumpとvar_exportprint_rとvar_dumpとvar_exportの違いは?

 📖目次に戻る

echoとは

echoは、HTMLに文字列を出力する場合に使用し、echo の後ろに記述された変数や文字列を表示します。

文字列を指定する場合は、「"」(ダブルクォーテーション)または「'」(シングルクォーテーション) で囲みます。

echoの後ろに記述することを、少し専門的な言い方をすると「echoの引数に指定する」って言うよ。

 

1つの値を出力する場合

1つの値を出力する場合は、echo の後ろにその値を記述します。

構文

echo 文字列;

例文

echo "こんにちは";

 

複数の値を出力する場合

複数の値を出力する場合は、echoの後ろに「,」(カンマ)で区切って記述します。

 </>php

<?php echo "こんにちは"; echo "<br>";

echo "今日は" , "良い" , "天気ですね"; ?>

カンマで区切った複数の文字列が、一つの文章として表示されているのがわかると思います。

また、"<br>"などのHTMLタグを認識するのでウェブブラウザで改行することも可能です。

 

変数と文字列を出力する場合

変数と文字列を一緒に出力することもできます。

「今日は良い天気ですね」を変数 str に代入して、文字列「こんにちは」と一緒に出力してみます。

 </>php

<?php

$str = "今日は良い天気ですね";

echo "こんにちは","<br>",$str;

?>

結果は先程と同じですね。

 

もう少し詳しく

  • echoは関数ではなく言語構造なので、引数を ()「カッコ」で括る必要はありません。
  • () を使用できるのは値が1つの場合のみです。(でも、あまりオススメしません、、)
  • 戻り値はありません。

 

ちなみに、<?php echo "こんにちは";?> は、 <?= "こんにちは"?> というように省略することもできるよ。

 📖目次に戻る

printとは

printも、echoと同じく引数に指定した1つ文字列を出力することができます。

こちらも関数ではないので、カッコをつける必要はありませんが、echoと違って単一の引数のみを受け付けるので、「,」(カンマ)複数の値を同時に出力することはできません

また、戻り値として常に1が返されます

 

1つの値を出力する場合

構文

print 文字列;

例文

print 'こんにちは';

 

複数の値を出力する場合

カンマで区切って複数の値を出力することはできませんが、「.」結合演算子を使用することで複数の値を結合し、一つの文字列を作成した上で出力することができます。

これはechoも同様です。

 </>php

<?php $str = "良い天気";

print "こんにちは";

print "<br>";

print "今日は" . $str . "ですね"; ?>

 

式として使用する場合

また、printはechoと違って式として扱うこともできるので、以下のようにif文の条件式の中に記述して使用することができます。

 </>php
<?ph

if( print " " ){ print "printは式で使えます!"; } else { print "printは式で使えません!"; } ?>

決して実用的とは言えませんが、式の中で使用できることは確認できました。

 

ちなみに、echoを使用して同じことをするとエラーになるよ。

 📖目次に戻る

echoとprintの違いは?

echoもprintも文字列を出力するという点では共通していますが、両者の違いについてもう一度おさらいしてみましょう。

大きな違いは戻り値の有無ですが、単一の値を出力する場合は特に違いはありません。

 

どちらを使うかは、現場の指示に従った方が良さそうだね。

 📖目次に戻る

print_rとは

print_r var_dump var_export は、デバッグの際に変数の詳細を確認するために使用する関数です。

データ型配列の詳細エラー原因を調べる際に、これらの関数を使用することは多いのではないでしょうか。

 

その中の、print_r は指定した変数の情報をわかりやすく出力する際に使用します。

構文

print_r(変数);

例文

print_r($array);

用途としては、配列の場合は「キーと値だけを確認したい」時など、結果を簡易的に確認する際に使用します。

 

それでは実際に確認してみましょう。

 </>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と比べ、例えば配列の中身を調べた場合は「キー」と「値」以外にもより詳細なデータを出力します。

 

構文

var_dump(変数);

例文

var_dump($array);

 

では、実際に出力してみましょう。

先ほど説明したprint_rとの違いがわかりやすいように、同じ変数をvar_dumpで出力してみます。

 </>php
<?php

$array = array(

  "key1" => "value1",

  "key2" => "value2",

  "key3" => "value3",

);

  var_dump($array); ?>

何やら長ったらしくて、難しそうな文字列が出力されましたね。

でも慣れると、とても便利でわかりやすい文章なんです。一部抜粋して、解説すると以下の通りです。

var_dumpの解説

上記は、array(配列)の場合の解説ですが、文字列や数値の場合はまた違った形で出力されます。

 

var_exportとは

var_exportは、変数のデータ構造を出力する関数です。

var_dumpと似ていますが、第二引数にtrueを指定することで、有効なPHPコードとして返り値を取得することが出来ます。

 

構文

var_export(変数);

例文

var_export($array);

 

では実際に見てみましょう。

違いがわかりやすいように先ほどと中身の同じ変数を出力してみます。

 </>php
<?php

$array = array(

  "key1" => "value1",

  "key2" => "value2",

  "key3" => "value3",

);

var_export($array,true);

?>

出力結果だけ見ると、print_rに似ていますね。

 

var_exportは、print_rと同様に返り値を取得することができるので、この2つの関数はログを取る(記録を残す)場合などに利用されるよ。

📖目次に戻る

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

 

続きを見る

 

最後までお読みいただき、ありがとうございました!

-php