検索

キーワード


目次

【PHP】デバッグ(var_dump, print_r, debug_backtrace)

  • 公開日:2020-10-28 11:23:36
  • 最終更新日:2021-02-05 09:34:44

Workteria(ワークテリア)では難易度の高いものから低いものまで、スキルや経験に合わせた案件を多数揃えています。会員登録は無料ですので、ぜひ会員登録してご希望の案件を探してみてください!

フリーランス/正社員のエンジニアとして活躍するには、ご自身のスキルや経験に合わせた仕事を選ぶことが大切です。ご希望の案件がみつからない場合はお気軽にお問い合わせください!ユーザ満足度の高いキャリアコンサルタントが在籍していますので、希望条件や悩み事などなんでもご相談ください。ご希望にピッタリの案件をご紹介させていただきます。

デバッグ

PHPで変数や処理の結果を確認するために必須ともいえるデバッグ要素について解説していきます。

PHPで主にデバッグをするために使う関数としては、var_dump関数print_r関数、debug_backtrace関数があります。


var_dump

var_dump関数は、変数に関する情報を出力します。

$array = array(
    'key1' => 'hoge_1',
    'key2' => 'hoge_2',
    'key3' => 'hoge_3'
);
var_dump($array);
array(3) {
  ["key1"]=>
  string(6) "hoge_1"
  ["key2"]=>
  string(6) "hoge_2"
  ["key3"]=>
  string(6) "hoge_3"
}


print_r

print_r関数は、指定した変数に関する情報を解りやすく出力する関数です。

$array = array(
    'key1' => 'hoge_1',
    'key2' => 'hoge_2',
    'key3' => 'hoge_3'
);
print_r($array);
Array
(
    [key1] => hoge_1
    [key2] => hoge_2
    [key3] => hoge_3
)


debug_backtrace

debug_backtrace関数は、バックトレースを生成する関数です。


<?php
// ファイル名: /tmp/a.php

function a_test($str)
{
    echo "\nHi: $str";
    var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// ファイル名: /tmp/b.php
include_once '/tmp/a.php';
?>
Hi: friend
array(2) {
[0]=>
array(4) {
    ["file"] => string(10) "/tmp/a.php"
    ["line"] => int(10)
    ["function"] => string(6) "a_test"
    ["args"]=>
    array(1) {
      [0] => &string(6) "friend"
    }
}
[1]=>
array(4) {
    ["file"] => string(10) "/tmp/b.php"
    ["line"] => int(2)
    ["args"] =>
    array(1) {
      [0] => string(10) "/tmp/a.php"
    }
    ["function"] => string(12) "include_once"
  }
}


まとめ

PHPでのデバッグの方法についてまとめてみました。

特によく使うvar_dumpとprint_rですが、それぞれで確認できる情報量が違ってきます。

ちょっとした確認だけをしたい場合はprint_r、しっかりと変数の中身を確認したい場合はvar_dumpなど、場合によって使い分けられるようになると良いでしょう。


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

編集した記事一覧

正社員/フリーランスの方でこのようなお悩みありませんか?

  • 自分に合う案件を定期的に紹介してもらいたい
  • 週2、リモートワークなど自由な働き方をしてみたい
  • 面倒な案件探し・契約周りは任せて仕事に集中したい

そのような方はぜひ、Workteriaサイトをご利用ください!

  • 定期的にご本人に合う高額案件を紹介

  • リモートワークなど自由な働き方ができる案件多数

  • 専属エージェントが契約や請求をトータルサポート

よく読まれている記事