【超入門】PHPのvar_dumpとは?使い方・print_rとの違い・実践例をやさしく解説!

プログラミング・IT

PHPで開発をしていると、変数の中身を確認したいという場面に何度も遭遇します。

「ちゃんと値が入ってるの?」「データの型は合ってる?」「配列の構造はどうなってる?」

そんなときに大活躍するのが、var_dump()関数です。

この記事では、PHP初心者でも分かるように、var_dump()の基本的な使い方から、print_r()との違い、配列・オブジェクトでの活用法まで、実例付きで分かりやすく解説します!

スポンサーリンク

var_dump()とは何か?何が便利なの?

var_dump()とは?

var_dump()は、PHPのデバッグ用関数で、変数の中身とそのデータ型を詳しく表示してくれます。

基本の書き方

var_dump($変数);

基本的な使用例

コード例

<?php
$age = 25;
var_dump($age);
?>

出力結果

int(25)

説明int(整数)型で、値が25だということが分かります。

いろいろなデータ型での例

文字列の場合

<?php
$name = "田中";
var_dump($name);
?>

出力結果

string(6) "田中"

説明string(文字列)型で、6バイトの長さ、値が「田中」だと分かります。

真偽値(boolean)の場合

<?php
$isActive = true;
var_dump($isActive);
?>

出力結果

bool(true)

NULL値の場合

<?php
$nothing = null;
var_dump($nothing);
?>

出力結果

NULL

まとめvar_dump()は、型と値をセットで確認できる強力な関数。数値・文字列・配列など、あらゆるデータに対応しています。

var_dump()の実践例【配列・連想配列・オブジェクト】

配列の場合

コード例

<?php
$fruits = ["apple", "banana", "orange"];
var_dump($fruits);
?>

出力結果

array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(6) "orange"
}

説明

  • array(3):3つの要素を持つ配列
  • [0]=> string(5) "apple":0番目の要素は、5文字の文字列「apple」
  • 配列の長さや、各要素の型・値が詳しく分かります

連想配列の場合

コード例

<?php
$user = [
    "name" => "田中太郎",
    "age" => 30,
    "email" => "tanaka@example.com"
];
var_dump($user);
?>

出力結果

array(3) {
  ["name"]=>
  string(12) "田中太郎"
  ["age"]=>
  int(30)
  ["email"]=>
  string(19) "tanaka@example.com"
}

説明:キーと値のペア、そしてそれぞれのデータ型が明確に表示されます。

より複雑な配列の例

コード例

<?php
$data = [
    "users" => [
        ["name" => "田中", "age" => 25],
        ["name" => "鈴木", "age" => 30]
    ],
    "total" => 2
];
var_dump($data);
?>

出力結果

array(2) {
  ["users"]=>
  array(2) {
    [0]=>
    array(2) {
      ["name"]=>
      string(6) "田中"
      ["age"]=>
      int(25)
    }
    [1]=>
    array(2) {
      ["name"]=>
      string(6) "鈴木"
      ["age"]=>
      int(30)
    }
  }
  ["total"]=>
  int(2)
}

説明:多次元配列でも、すべての階層の構造が詳しく表示されます。

オブジェクトの場合

コード例

<?php
class Car {
    public $brand = "Toyota";
    public $model = "Prius";
    private $price = 2500000;
}

$myCar = new Car();
var_dump($myCar);
?>

出力結果

object(Car)#1 (3) {
  ["brand"]=>
  string(6) "Toyota"
  ["model"]=>
  string(5) "Prius"
  ["price":"Car":private]=>
  int(2500000)
}

説明

  • object(Car)#1:Carクラスのオブジェクト、1つ目のインスタンス
  • プロパティの可視性(public、private)も表示されます

まとめ:配列やオブジェクトの構造を正確に把握したいとき、var_dump()は最強のツールです!

var_dump()とprint_r()の違いとは?

どちらも変数の中身を表示する関数ですが、表示される情報に違いがあります。

比較表

比較項目var_dump()print_r()
型情報表示される表示されない
詳細さとても詳しい簡略化
見やすさやや複雑読みやすい
用途正確なデバッグ簡易表示・ログ

同じデータでの比較

コード例

<?php
$user = [
    "name" => "田中",
    "age" => 30,
    "active" => true
];

echo "=== var_dump() ===\n";
var_dump($user);

echo "\n=== print_r() ===\n";
print_r($user);
?>

var_dump()の出力

=== var_dump() ===
array(3) {
  ["name"]=>
  string(6) "田中"
  ["age"]=>
  int(30)
  ["active"]=>
  bool(true)
}

print_r()の出力

=== print_r() ===
Array
(
    [name] => 田中
    [age] => 30
    [active] => 1
)

重要な違い

  • var_dump()bool(true)と型も表示
  • print_r()1と表示されるだけで、真偽値かどうか分からない

どちらを使うべき?

var_dump()を使う場面

  • 開発中のデバッグ
  • データ型を正確に知りたいとき
  • 配列やオブジェクトの詳細な構造を確認したいとき

print_r()を使う場面

  • ログファイルへの出力
  • 人間が読みやすい形で表示したいとき
  • 簡単な配列の中身確認

まとめ:開発中のデバッグにはvar_dump()、本番出力やログにはprint_r()など、目的に応じて使い分けるのがベストです!

var_dump()の便利な使い方とコツ

複数の変数を同時に確認

コード例

<?php
$name = "田中";
$age = 25;
$active = true;

var_dump($name, $age, $active);
?>

出力結果

string(6) "田中"
int(25)
bool(true)

説明:カンマで区切ることで、複数の変数を一度に確認できます。

HTMLで見やすく表示する

Webブラウザで確認する場合は、<pre>タグを使うと見やすくなります。

コード例

<?php
$data = [
    "name" => "田中",
    "hobbies" => ["読書", "映画鑑賞", "プログラミング"]
];

echo "<pre>";
var_dump($data);
echo "</pre>";
?>

説明<pre>タグを使うことで、改行やインデントが保たれ、見やすく表示されます。

関数の戻り値を確認

コード例

<?php
function getUserData() {
    return [
        "id" => 1,
        "name" => "田中",
        "email" => "tanaka@example.com"
    ];
}

var_dump(getUserData());
?>

説明:関数の戻り値がどのような構造になっているかを確認できます。

データベースから取得したデータの確認

コード例

<?php
// データベースから取得したデータの例
$dbResult = [
    ["id" => 1, "name" => "田中", "created_at" => "2025-06-05 10:00:00"],
    ["id" => 2, "name" => "鈴木", "created_at" => "2025-06-05 11:00:00"]
];

echo "<pre>";
var_dump($dbResult);
echo "</pre>";
?>

説明:データベースから取得したデータの構造や型を確認するのに便利です。

注意点と使い方のコツ

本番環境では使用しない

重要な注意点

  • var_dump()機密情報を表示する可能性がある
  • 本番サーバーでは絶対に出力しないように注意
  • 開発環境とテスト環境でのみ使用する

安全な使い方

<?php
// 開発環境でのみ表示
if ($_SERVER['SERVER_NAME'] === 'localhost') {
    var_dump($sensitiveData);
}
?>

ファイルサイズに注意

大きなデータの場合

<?php
// 大きな配列の場合は一部だけ確認
$bigArray = range(1, 1000);

// 最初の5つだけ確認
var_dump(array_slice($bigArray, 0, 5));
?>

説明:大きなデータをそのままvar_dump()すると、表示が見づらくなったり、処理が重くなったりする可能性があります。

エラー処理との組み合わせ

コード例

<?php
$data = json_decode('{"invalid": json}');

if ($data === null) {
    echo "JSONの解析に失敗しました\n";
    var_dump(json_last_error_msg());
} else {
    var_dump($data);
}
?>

説明:エラーが発生した場合の原因調査にもvar_dump()が役立ちます。

よくある使用場面

フォームデータの確認

コード例

<?php
if ($_POST) {
    echo "<pre>";
    echo "受信したPOSTデータ:\n";
    var_dump($_POST);
    echo "</pre>";
}
?>

APIレスポンスの確認

コード例

<?php
$apiResponse = file_get_contents('https://api.example.com/data');
$data = json_decode($apiResponse, true);

echo "<pre>";
var_dump($data);
echo "</pre>";
?>

セッション・クッキーの確認

コード例

<?php
session_start();

echo "セッションデータ:\n";
var_dump($_SESSION);

echo "\nクッキーデータ:\n";
var_dump($_COOKIE);
?>

まとめ:var_dump()はPHP初心者の最強の味方!

重要なポイント

  • var_dump()は、変数の中身と型を正確に表示できる関数
  • 配列・連想配列・オブジェクトなど、あらゆるデータ構造に対応
  • print_r()との違いを理解して使い分けができると一人前
  • <pre>タグとの併用で見やすさアップ
  • 開発中のデバッグに最適、本番では使用禁止

使い分けガイド

用途推奨関数理由
開発中のデバッグvar_dump()型情報が詳しく分かる
ログファイル出力print_r()簡潔で読みやすい
型の確認var_dump()型情報が表示される
構造の確認var_dump()詳細な構造が分かる
本番環境使用しないセキュリティリスク

デバッグのベストプラクティス

  1. 開発環境でのみ使用する
  2. <pre>タグで見やすく表示する
  3. 大きなデータは一部だけ確認する
  4. セキュリティに注意する
  5. 本番リリース前に削除する

コメント

タイトルとURLをコピーしました