【PHP】デバック・学習に便利な関数4選

【PHP】デバック・学習に便利な関数4選

アプリケーション開発ではプログラム中で使われる変数やデータの値を確認しながら開発をすることが多くあります。
値を確認することで、途中でコードの誤りに気付いたり、既存ソースコードの動きや仕組みを理解できます。

また、学習の際でも値を1つずつ確認しながら自分で動かしてみることで理解をより深めることができます。

ここではデバッグ・学習に便利な関数を4つご紹介します。

  • var_dump関数

  • print_r関数

  • gettype関数

  • get_class関数

var_dump関数

概要

var_dump関数は引数で渡した値(変数)の型や値、構造、詳細を出力します。

サンプルコード

<?php

$data = [
    'country' => 'japan',
    'fruits' => [
        'apple',
        'orange',
        'melon',
    ],
];

var_dump($data);

?>
array(2) {
  ["country"]=>
  string(5) "japan"
  ["fruits"]=>
  array(3) {
    [0]=>
    string(5) "apple"
    [1]=>
    string(6) "orange"
    [2]=>
    string(5) "melon"
  }
}

print_r関数

概要

print_r関数は変数の値に関する情報を解り易い形式で表示します。

サンプルコード

<?php

$data = [
    'country' => 'japan',
    'fruits' => [
        'apple',
        'orange',
        'melon',
    ],
];

print_r($data);

?>
Array
(
    [country] => japan
    [fruits] => Array
        (
            [0] => apple
            [1] => orange
            [2] => melon
        )

)

gettype関数

概要

gettype関数は引数で渡した値の型を文字列で返します。

出力するにはechoなどと合わせて使用します。

サンプルコード

<?php

$data = [
    'country' => 'japan',
    'fruits' => [
        'apple',
        'orange',
        'melon',
    ],
];

echo gettype($data);

?>
array

get_class関数

概要

get_class関数は引数で渡した値のクラスを文字列で返します。

出力するにはechoなどと合わせて使用します。

サンプルコード

<?php

// クラス
class Person {

    // 名前
    public $name;
    
    // 身長
    public $height;

    // コンストラクタ
    public function __construct( $name, $height ) {
        $this->name = $name;
        $this->height = $height;
    }

    // プロフィールを出力する
    public function profile() {
        echo "私の名前は".$this->name."です。\n";
    }

}

$watanabe = new Person('Watanabe You', 157);

echo get_class($watanabe);

?>
Person

まとめ

以上、デバック・学習に便利な関数4選でした。
プログラムが期待通りに動かなかったり、既存のコードを理解するにはご紹介した関数を使うと効果的です。

是非、試してみてください。