1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Laravelで配列・コレクションを見やすくデバッグ出力する方法

Last updated at Posted at 2025-07-31

フロントエンドとバックエンドが分かれているSPA構成の開発では、デバッグのためにログを活用する場面が多くあります。
とくにバックエンドのLaravel側で、配列やコレクションの内容を出力したいとき、標準的なログ出力だけでは少し読みにくくなることがあります。

本記事では、配列やコレクションを見やすくログ出力する方法を紹介します。


想定環境

  • バックエンド:Laravel 6.x
  • フロントエンド:Bladeテンプレート(.php 拡張子付きのHTML)を使用
  • デバッグ目的:Laravelの Log::debug() でバックエンドの値を出力

よくあるデバッグコードと出力結果

$debug_array = [
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3',
];

$debug_collect = collect($debug_array);

Log::debug('debug_array', [$debug_array]);
Log::debug('debug_collect', [$debug_collect]);

出力結果(Logファイル)

[2025-08-01 03:08:05.048][pid:43][req_id:""] local.DEBUG: debug_array [{"key1":"value1","key2":"value2","key3":"value3"}]
[2025-08-01 03:08:05.048][pid:43][req_id:""] local.DEBUG: debug_collect [{"Illuminate\\Support\\Collection":{"key1":"value1","key2":"value2","key3":"value3"}}]

少量のデータであれば問題ありませんが、要素数が増えてくると、ネストが深くなったり、見づらくなることがあります。
目的の値を探すのに時間がかかることもしばしば。

見やすく出力するには print_r() を使う

Log::debug(print_r($debug_array, true));
Log::debug(print_r($debug_collect->toArray(), true));

出力結果(見やすく整形される)

Array
(
    [key1] => value1
    [key2] => value2
    [key3] => value3
)

print_r() は PHP の組み込み関数で、配列やオブジェクトの中身を整形して表示してくれます。
第2引数にtrueを渡すことで、出力を文字列として受け取れるため、Log::debug()と組み合わせて使えます。

コレクションの扱い

Laravelの Collectionオブジェクトは、そのままログ出力すると構造がネストしてしまいます。
その場合は、toArray()all()を使って通常の配列に変換してから出力すると、より読みやすくなります。

Log::debug(print_r($debug_collect->toArray(), true));

まとめ

  • Log::debug() にそのまま配列やコレクションを渡すと、見づらい形式で出力されがち

  • print_r($data, true) を使えば、整形されたログを出力できる

  • コレクションは toArray()all()を使って配列に変換してから出力するのがオススメ

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?