環境の都合でちろっとPHPのプログラムを書きました。私のPHPの記述レベルは素人に毛が生えた程度なので、ググリながらやっています。で、ある値をGETで受け取って処理するというよくあるパターンの記述をしていると、下記のような警告が出ました。GETのパラメータは渡される時もあれば渡されない時もあるといったパターンです。
Notice: Undefined index: id in /foo/var/index.php on line 3
原因はハッキリと解っていて、下記のようなソースでkeyの値が空ではなく、そもそも値が渡らない時に定義されていませんよと警告を出してくれたのです。
if ($_GET['key']) { //hogehoge処理 }
配列のkeyの値がセットされているかを判定するは、definedを使うのがよいかissetが良いかイマイチよく解らなかったので、とりあえず流してみてエラー文言を見て調べようと思ったのです。そして"Notice: Undefined index"でググッたら、なんと圧倒的な数の警告の消し方が出てくるのです!!まっとうな答えは、ウノウラボ Unoh Labsさんの 「配列操作でE_NOTICE対策を簡単に行う方法」だと思います。でもそれ以上に警告の消し方が出てくるのです。
PHP嫌いの人はこれだからPHPはダメなんだとか言うと思います。ただそれを言うだけでは短絡的です。PHPのニーズが手軽に使いたいという人が多くて問題回避的な解決をする場面が多いという事実があって、Googleなどのアルゴリズムでは良い回答か悪い解答かを判断出来ない部分があるという事実なのではないでしょうか?あまりPHPの解説サイトの状況は解りませんが、根本から詳しく解説するというより、手っ取り早く解決するサイトが望まれているのかもしれませんね。公式サイトも使い易いとは言い難いですし。もうちょっと駆け出しプログラマでも道を踏み外さない方法があったら良いんですけどね。どうしたものでしょう