この記事にはプロモーションが含まれています。

【初心者向け】PHPでエラー?そんなときは変数の中身を確認しよう

【初心者向け】PHPでエラー?そんなときは変数の中身を確認しよう

ケケンタ

PHPで何故かエラーが発生……。
文法も間違ってないし、やり方も確かにあってるはずなのに……

このようなことでお困りの方に向けて、PHPで変数の中身を確認する方法をお伝えします。

この記事で分かること
  • PHPでエラーが発生する主な原因
  • PHPで変数や配列の中身を確認する方法



ケケンタ

ケケンタのITブログでは、WebアプリPHPLaravel)やWeb制作WordPressコーディング)について情報を発信しています。
学習中の方や実務をされている方など多くの方にアクセスいただいていますので、ぜひほかの記事も参考にしてみてください!


運動不足、気になっていませんか?

もしプログラミング学習やお仕事で運動不足が気になっているなら
連続屈伸運動がおすすめです!

ボタンにカーソルを合わせるだけ
カウントダウンが始まるタイマーをご用意してみました!

ケケンタ

無理のない範囲で、ぜひ隙間時間に屈伸運動を取り入れてみて下さい!

タイマースタート

3:00

※運動不足だと連続3分で取り組んでもかなり息が切れます
(僕は加えて気分もちょっと悪くなりました……)
絶対にご無理の無い範囲でお取り組みください!


目次

PHPでエラーが発生する主な原因

ケケンタ

PHPでエラーが発生する原因は主に下記の通りです。

PHPのエラー原因(例)
  • 書いたプログラムに文法的な誤りがある
  • 関数の引数に不適切な値を渡している
  • 未定義の変数や関数を呼び出している

この中で、「文法的な誤り」が発生している場合はsyntax errorの表示が出るため比較的原因を特定しやすいです。

しかし、初心者の方が特にハマりやすいのが、文法的な誤りは無く、パッと見て理屈上もおかしな点が無さそうという状況で発生しているエラーです。

こうしたエラーによってお困りの場合、まずは使用している変数や配列を出力し、その中身の確認を行うことをおすすめします。

例えば、そのとき変数の中身がnullundefinedとなっていたり、意図していない値になっていたら、それがエラーの原因ということになります。

そこからさらにプログラムを辿っていくことで、根本的な原因を特定、解決することが可能となります。

ケケンタ

ちなみにこの作業のことを一般的にデバッグと呼んだりします。

PHPで変数の中身を確認する方法

PHPで変数や配列の中身を確認する方法はいくつかありますが、今回は下記3つの関数をご紹介します。

関数名使い分け
echo単一の変数の中身を確認したいとき
var_dump配列変数の中身を確認したいとき
print_r見やすさを重視したいとき
PHPで変数や配列の中身を出力する関数
ケケンタ

上記で汎用性が最も高いのがvar_dump関数です!

ただ、初心者の方にとっては出力内容が少々見づらい部分もあるため、PHPでHTML出力する際にお馴染みのechoや出力情報量が最小限のprint_rも併せてご紹介します。

echo

使い方

<?php

$sample = "これはサンプルです。";

echo $sample;

?>

出力結果

var_dump

使い方

<?php

$sample_arr = ["いぬ", "ねこ", "ねずみ"];

echo "<pre>";
var_dump($sample_arr);
echo "</pre>";

?>

出力結果

コードをご覧いただくと「var_dump」を<pre>タグで囲んでいるのが分かります。
実は、var_dumpはデフォルトだと出力結果が改行されずに表示されてしまい大変見づらいのです。
これをHTMLの<pre>タグで囲ってあげることで、var_dumpによる出力結果を整形して見やすくすることが可能です。
(整形前の出力結果が気になる方は<pre>タグを出力している2行を削除して出力結果を確認してみて下さい。)

ケケンタ

もちろんですが、var_dumpは単一の変数の出力にも使用可能です!
以下がその際の使用例です。

使い方 ~単一の変数ver~

<?php

$sample = "これはサンプルです。";
var_dump($sample);

?>

出力結果 ~単一の変数ver~

ケケンタ

上記2つの例のように、var_dumpで出力される情報にはも含まれます。
もしも変数の型が意図していないものだとしたら、それがエラーの原因になっている可能性も考えられます。

print_r

3つ目にご紹介するprint_rは言ってしまえば、var_dumpから一部の出力情報を取り除いた状態で結果を出力する関数です。

正直、型まで分かった方が情報としては適切なため、最終的にはvar_dumpの使用をおすすめします。

しかし、PHPを学習し始めた初心者の方にとっては情報の込み合い具合も大切だと考えているため、出力情報が少なく表示が見やすいprint_rもご紹介しています。

使い方

<?php

$sample_arr = ["いぬ", "ねこ", "ねずみ"];

echo "<pre>";
print_r($sample_arr);
echo "</pre>";

?>

出力結果

ケケンタ

このように出力情報がスッキリしているのがprint_rの特徴ですが、正確にデバッグするという意味ではやはりvar_dumpのように型まで分かる関数を使用することをオススメします。

PHPでパッと見て理屈に合わないエラーが発生したときは使用中の変数の中身を確認する

以上がPHPで変数の中身を確認する方法でした。

PHPを学習しているとエラーはつきものです。

一方、PHPを学習し始めたばかりという初心者の場合、経験者なら簡単に解消できるエラーであっても、解決までに時間がかかってしまうことが多々あります。

エラーが発生したときに大切なことは、

現状のプログラムを正確に把握すること

です。

まずはきちんと現状の把握をして、それから原因と思われる箇所へアプローチするようにしてみましょう。

ケケンタ

最後までお読みいただきありがとうございました。
また別の記事でお会いできれば光栄です!

もしもPHPの独学に限界を感じているのであれば、一度プログラミングスクールの利用を検討してみるのも良いかもしれません。

無料でPHPが学べるプログミングスクール

【初心者向け】PHPでエラー?そんなときは変数の中身を確認しようのアイキャッチ

この記事が気に入ったら
フォローしてね!

この記事が良いと思ったらシェアしてね!
目次