初心者向け!プログラミング(PHP)のよくあるエラー原因。初心者向け!プログラミング(PHP)のよくあるエラー原因。シェフ基本的な知識を身につける段階では悩むことも少ないですが、自分で考えながらプログラミングするようになると、エラーに悩まされますよね。些細なミスが原因で発生するエラーから、じっくり考えてもわからない深刻なエラーまで、ずっと付き合うことになります。今回は、その中でも、よくありがちだと思うエラーをいくつかご紹介するので、後で困らないためにも、頭の片隅に入れてもらえればと思います。関連プログラミング初心者の無料の学習方法は?独学できる?目次1スペルミス2セミコロン(;)がない3片方のカッコがない4条件分岐が成立していない5変数定義でハイフンを使う6定義されていない関数を使う7同じ関数名を使う8まとめスペルミス最も単純で、意外と気づけないのがスペルミス。一文字間違えただけでも正常に処理してくれません。関数名などのスペルミスは画面が真っ白になるのでわかりやすいですが、変数名やHTMLコードのスペルミスの場合、そのまま処理が続くことがあるので、ミスに気づくのが遅れることも。「なんでこの処理でエラーが発生するんだろう?」と悩んだら、スペルミスを疑いましょう。セミコロン(;)がないスペルミスと比べると、そこまで多くないミスですが、変数定義や、echoの後に、セミコロン(;)がないとエラーになります。?>みたいなミスはよくありがちだと思います。性質上、セミコロンはあっても困ることが少ないので、慣れないうちは、必要かどうかわからない場面でもセミコロンを使うと安心です。片方のカッコがない条件分岐や、配列(array)を組む時にありがちですが、片方のカッコがないことでエラーになることがあります。下記のようなコードですね。削除したのに、もう片方のカッコは削除してない...なんてこともあり得ます。条件分岐が成立していない「Aなら〇〇、Bなら△△」のような簡単な条件分岐であれば、あまり困ることはありませんが、複雑な条件分岐になると、その条件分岐が成立せずにエラーになることがあります。text_z();}▲このように、if文が入れ子構造になっている時によくエラーが発生するので、条件分岐がちゃんと成立しているかどうか確認しましょう。変数定義でハイフンを使う僕もたまにやっちゃうんですが、アンダーラインではなく、下記のようにハイフンを使って変数を定義するとエラーになります。"ベビーメタル";スペルミスの部類に入ると思うんですが、HTMLベースでコードを入力している時などにありがちなので、ご注意ください。定義されていない関数を使う何度も使うような長い処理は関数化することも多いですが、気をつけなければいけないのは、関数を定義する前に関数を呼び出したり、関数を定義していないのに呼び出すことです。特に注意が必要なのが、下記のような条件分岐の中で関数を定義する時。$apple;}これは、is_appleが真の時(設定がオンの時)はエラーが発生しませんが、偽の時(設定がオフの時)はエラーが発生します。?>と出力しようと思っても、関数が定義されていないので、出力できないからです。複雑な処理になってくると、「ある条件の場合だけエラーが発生する」みたいな状況になるので、注意が必要です。対策このエラーの対策方法は、関数を呼び出す前に「関数が定義済みか確認する」ことです。function_existsという関数を使えばそれが可能です。get_apple();これで、関数が定義されている時は呼び出して、それ以外はスルーしてくれるのでエラーになりません。同じ関数名を使う同じような処理をして、それを関数化する場合、関数名も似てしまうものですが、同じ関数名で定義するとエラーになります。自分で定義した関数名が同じになってしまうのはもちろんのこと、「使用中のWordPressテーマ・プラグインですでに同じ関数名が使われていた」なんてこともあるので、頭に入れておきたいところです。先ほどの「関数が定義されているかどうか確認する」対策と同じく、function_existsを使うことで、このエラーを防ぐことができます。対策方法は簡単で、「カッコ内の名前で関数が定義されていなければ、その名前で関数を定義する」という条件にするだけでOKです。}}まとめエラーの原因は他にもまだまだありますが、重要なのは、エラーを発生させないことではなく、エラーの原因に気づくことです。画面が真っ白になる画面に変な文字が表示されるなどのエラーは、自然に発生するのではなく、必ずどこかに原因があるからです。その場では気づかなくても、後で「あっ!」と気づくこともあるので、一息つくのも時には効果的ですよ。́)ゞカテゴリー:プログラミング学習シェフこのサイト「Fantastech」を運営している人。WordPressテーマ「4536」の開発中にインプットした情報などを発信中。無料コードエディタ「ATOM」をおすすめする4つの理由2019/2/15もっと見るサイトの文字や画像をコピー禁止にする方法【コピーガード】2018/7/18もっと見るPHPのstr_replaceとpreg_replace(正規表現)の使い方2018/7/4もっと見るCSSで文字数に合わせて吹き出しの横幅を変える簡単な方法2018/5/22もっと見るWindowsのブラウザ別スクロールバー非表示方法【CSS】2018/3/23もっと見るプログラミング初心者の無料の学習方法は?独学できる?2018/3/9もっと見るechoしたパラメータを返り値で扱えるob_start関数の使い方2018/1/20もっと見る要素1つで中央寄せ、2つ以上で横並びにするCSS。上に表示された文字を入力してください。【PHP】テキストボックスに入力した値で条件分岐する方法。要素1つで中央寄せ、2つ以上で横並びにするCSS。「ページを開けません。サーバが見つかりません」の原因は?PHPのstr_replaceとpreg_replace(正規表現)の使い方WordPressで会話風の画像とテキストをコピペで簡単表示!WordPressのユーザー名・パスワードを確認・変更する方法は?Facebookページのユーザーネームが登録・変更できない原因は?ローカル環境のWordPressサイトを本番環境へ移行する方法WordPressオリジナルテーマを管理画面で更新可能にする方法。Jobsの導入方法や注意点などカスタムデータ属性でCSSフレームワークを作ろうきたぞ、国内初の流体シェイプ国内初となる流体シェイプをデザインに取り入れたWordPressテーマ「4536」を公開しました。