PHP

【PHP初学者向け】echo, print, print_r, var_dumpの違いをざっくり解説

あけお

スクールに多額のお金を支払う前に、僕の記事で学習してね!

こんな人に読んでほしい

  1. そもそも出力ってなに??
  2. 出力の方法がたくさんあってよく分からん、、。
  3. 結局、何を使えばいいの??
あけお

この記事を読むと
「PHPにおける出力の違い」を理解して、正しく使い分けできるよ!

結論

基本はecho

デバッグするときはvar_dump

そもそも出力ってなに??

簡単に言うと「結果を出す」ということです!「出力」があれば「入力」もあります。

例:電卓)5 + 2 の計算をする場合

「5」「+」「2」「=」というボタンを押しますよね

これがまさに「入力」です

なので「出力」とは「7」という「結果を出すこと」になります。

「入力」は「命令すること」

「出力」は「結果を出すこと」

PHPにおける出力とは?

PHPではこの「出力」をするときに

  • echo
  • print
  • print_r
  • var_dump

などを使います。

あけお

種類がたくさんあってよく分からんですね。。。

それぞれの違いをざっくりみていきましょう!

それぞれの出力の方法の違い

「どれくらい詳細に出力するか」が違う

学習し始めの段階であれば、この認識で良いと思います!

あけお

ざっくりなので初学者を抜け出した方には物足りないかも。。

echo

簡単に出力する

print()

簡単に出力する

print_r()

ちょっと詳細に出力する

var_dump()

かなり詳細に出力する

文字列を出力してみる

サンプルコード

PHP
<?php

$color = "red";


echo $color;
//出力結果:red

print($color);
//出力結果:red

print_r($color);
//出力結果:red

var_dump($color);
//出力結果:string(3) "red"

配列を出力してみる

サンプルコード

PHP
<?php

$colors = ["red", "blue", "green"];


echo $colors;
//出力結果:エラー

print($colors);
//出力結果:エラー

print_r($colors);
/*出力結果:
Array
(
    [0] => red
    [1] => blue
    [2] => green
)
*/

var_dump($colors);
/*出力結果:
array(3) {
  [0]=>
  string(3) "red"
  [1]=>
  string(4) "blue"
  [2]=>
  string(5) "green"
}
*/

echo, print_rは「配列の中身全てを出力するとき」にエラーになります!

配列の中の一つの要素だけ出力することはできます。

echo $colors[0];
//これはエラーにならない

echo $colors;
//これはエラーになる(配列そのものをechoしようとするから)

var_dumpはprint_rと同様、配列の中身を一気に出力できる上に、データの「型」まで見れるのでデバッグするときに使えますね!

まとめ

  1. PHPでデータを出力するときは基本はecho
  2. 詳細な出力が必要なときにvar_dump

「PHPにおける出力」について、ざっくりでも理解できたら幸いです。
これからも一緒に頑張りましょう!!

あけお

あなたの挑戦を応援しています!!