php

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

phpの値の色々な表示方法

 

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

  • echo
  • print
  • print_r
  • var_dump
  • var_export

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

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

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

しかし、これら5つの表示方法のどれどんな時使えば良いかわかりませんよね?

 

この記事では

「echo」「print」「print_r」「var_dump」「var_export」 それぞれの用途違いについて、初心者の方に向けて優しく解説していきます。

 

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

目次

echoの文字列の出力printの文字列の出力echoとprintの違い
print_rの文字列の出力var_dumpとvar_exportvar_dumpの使い方var_exportの使い方print_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も文字列を出力するという点では共通していますが、両者の違いについてもう一度おさらいしてみましょう。

引数文or式戻り値式で使用
echo複数可なし×
print1つのみ

※但し、「.」結合演算子を使用することで複数の値を結合して出力可。

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

 

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

 📖目次に戻る

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

デバッグ用の文字の出力方法として、print_r の他に「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);

?>

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

 

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

  📖目次に戻る

print_r と var_dump と var_exportの違い

文字列を出力する関数の中でも、デバッグの際に使用する関数として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つの出力結果は以下の通りです。(中身が同じ変数を出力した結果です。)

print_r
Array ( [key1] => value1 [key2] => value2 [key3] => value3 )
var_dump
array(3) { ["key1"]=> string(6) "value1" ["key2"]=> string(6) "value2" ["key3"]=> string(6) "value3" }
var_export
array ( 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3', )

 

文字列の出力方法は色々あって最初は混乱するけど、用途に合わせて使い分けるととても便利だね

📖目次に戻る

最後に

いかがでしたでしょうか、今回はphpの基本である文字列の色々な出力方法について解説しました。

phpについて他にも詳しく学習したい方は、下の記事一覧から他の記事もご覧下さい。

php

PHP言語に関する基礎的な構文やデータ型や関数など、詳細な解説やコード例を提供しています。

続きを見る

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



-php