検索

キーワード


【PHP】デバッグ

  • 公開日:2020-10-28 11:23:36
  • 最終更新日:2020-11-20 00:31:35

デバッグ

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など、場合によって使い分けられるようになると良いでしょう。

よく読まれている記事