【PHP】初心者向け!誰でもできる簡単なデバッグの方法|まずはこれを覚えよう!PHPのデバッグ関|

公開日時:   更新日時:
【PHP】初心者向け!誰でもできる簡単なデバッグの方法|まずはこれを覚えよう!PHPのデバッグ関|
基本情報技術者試験の試験対策はこちら>>

SE
簡単なデバックの方法はありますか?

PM
はい、あります。初心者でもわかる簡単な方法を紹介しましょう。

【PHP】初心者向け!誰でもできる簡単なデバッグの方法を紹介します!


今回は、初心者でも簡単にできるPHPのデバックの方法について解説していきます。

デバッグは、PHPでアプリケーション制作をする際、取得した値がどのように出力されるのかを確認するためによく使う方法です。

PHPを始めたばかりの人にとって、エラーが出力されるとどうしたらいいのか迷ってしまうこともあるでしょう。エラー内容がわからず、そこで手が止まってしまってPHPの学習をやめてしまう人も少なくありません。

本記事は、PHPの学習を始めたばかりの初心者向けとしてデバッグの基本的なやり方を解説しております。

ぜひ、デバッグの基本的な方法について学び、みなさまのアプリケーション制作にお役立ていただければ幸いです。

デバッグとは?

通常、文法のミスやスペルミス、定義されていない変数などがあった場合、エラーが出力されます。「syntax error」や「undefined index」などのエラーに誰しも出くわしたことがあるでしょう。

プログラムを動かす上でエラーを訂正したり問題なく動作するのかを確かめることを「デバッグ」と言います。アプリケーション制作では、この「デバッグ」を繰り返し、実装したコードが正常に動くのかどうかを確かめます。

とはいっても、特に何もしなくてもエラー内容がブラウザに表示されます。これは、PHPで標準に搭載されている機能であり、自動的にエラーが出力されるようになっています。

しかし、このままでは、”値が正しいものなのかどうか”の確認など、より具体的なエラーチェックを行うことができません。

PHPでは、値の入力・取得・表示の3つが主な機能となります。「ユーザーが入力した値を取得し、データベースに保存すること」「データベースに保存された値を取得してブラウザ上に表示させること」など、それらは全てPHPで実現できます。

しかし、デフォルトのエラー出力では、その値が正しく入力や取得、表示ができているのかどうなのか分からないのです。PHPでは、この値の操作がアプリケーション制作では肝要になってくるので、その値の操作が正しくできるのかどうなのか確認する手段が必要となってきます。

その手段・方法こそが、「デバッグ」なのです。

まずはこれを覚えよう!PHPのデバッグ関数

PHPで覚えておくべき超重要なデバッグ関数は次の2つです。

var_dump と print_r 「var_dump」や「print_r」は、オブジェクトに入っている値、配列、変数を全て展開して表示する便利な関数です。この2つがあれば、簡単にデバッグを行うことができます。

出力する内容はほとんど同じなのですが、微妙な違いあるので、順番に解説していきます。

print_rについて

「print_r」とは、指定した変数に関する情報を解りやすく出力する関数です。配列に格納してあるキーやその値だけを確認したいときに使えます。

※PHPの公式マニュアルによると、PHP4、PHP5、PHP7、 PHP8に対応しているそうです。

次のように記述します。
【print_r(情報を出力する変数);】
()内に出力したい変数を代入します。

以下が出力例です。最初に配列を設定し、それをprint_rで出力しています。

上記コードの出力結果です。

「Araay」は”配列”、「a、b、c」が”キー”、「リンゴ、バナナ、ミカン」が”値”です。このように、配列の中にキーと値がセットになって格納されています。print_rを使えば、キーと値をセットに確認することができます。

取得したい値をわかりやすく確認することができるので、よく使われるデバッグと言えるでしょう。

print_rでは、returnパラメータがtureの場合、そのまま値を出力します。以下が例です。

出力結果です。

print_rで出力した内容をそのまま変数に代入することができます。とはいっても、これをあまり使うことはないでしょう。必要になった時だけ使うことをおすすめします。

var_dumpについて

「var_dump 」は、調べたい値や式などについて、その値の型や値の関連情報を構造化して返します。配列の要素数、値が持つデータ型など、調べたい値や式の情報を調べることができます。戻り値はありません。

※PHPの公式マニュアルによると、PHP4、PHP5、PHP7、 PHP8に対応しているそうです。

以下のように記述します。

【var_dump(情報を出力する変数);】

()内に出力したい変数を代入します。

例を見ていきましょう。

上記コードの例の出力は以下となります。

print_rでは、キーと値だけががセットで表示されていましたが、var_dumpでは少し詳しく表示されています。

var_dumpでは、以下の例のように型も確認することができます。

出力内容です。

var_dumpは、値の他にその変数の型やバイト数など詳細な情報が表示されるのが特徴です。より詳しくエラー内容を知りたい場合、var_dumpを使うと良いでしょう。

他の便利なデバッグ関数 ー var_export ー

var_dumpに似ているのですが、こちらもでバックによく使われるPHPコードとなるので、print_rと同じように使えます。そして、var_dumpと異なり、第二引数にtrueを指定することで、戻り値を返してくれる便利なデバック関数です。

※PHPの公式マニュアルによると、PHP4、PHP5、PHP7、 PHP8に対応しているそうです。

以下がvar_exportの出力例です。

出力結果です。

以下は実用的な例です。(PHP7.3.0以降)

出力結果です。

このようにvar_dumpは使います。

SE
初心者でもできることがわかりました。

PM
理解を深めて、実際にコードを書きながらPHPをマスターしましょう。

おわりに

以上、PHPの学習を始めた初心者の方々向けに「デバッグ」について解説してきました。

print_rやvar_dumpは、出力結果やreturnされる形式が少し違います。「これがベスト」と言うやり方はないため、用途に応じて使い分けましょう。

データ型まで詳細に確認したい場合はvar_dump、キーと値のセットを確認したい場合はprint_r、と言うように使い分けていくのが無難です。

PHPのデバッグについては、他にも様々な方法があります。しかし、学習初期の段階ではprint_rnとvar_dumpを使い分けることができれば大丈夫です。実践的なアプリケーション制作を始めるときに、本格的なデバッグの方法について学んでください。


FEnetへの登録は左下のチャットが便利です 経験者優遇! 最短10秒!

.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)

Search

Popular

reccomended

Categories

Tags