- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpの定義していない変数について)
phpの定義していない変数について
このQ&Aのポイント
- phpを使用してwebページ作成を勉強中。
- モードによってphpの内容を変えるページを作成。
- 空のデータ受け取り時にNotice:Undefined indexエラーが表示される問題に悩んでいる。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#244856
回答No.2
以下で詳しく説明しています。issetを使って解決する人が多いのですが、記述が冗長になりやすいため、個人的にはfilter_input関数を使う方が短く、且つ美しくまとまってお勧めです。 http://qiita.com/mpyw/items/2f9955db1c02eeef43ea
その他の回答 (1)
- kosukejlampnet
- ベストアンサー率44% (126/282)
回答No.1
https://www.google.co.jp/search?q=Notice%3AUndefined+index エラーメッセージでググるといくらでも解決方法が示されています。 配列の添字が未定義のときに発生するエラーですね。 エラーが出る例 $mode = $arr['mode']; if (1 === $mode) { } else { } エラーが出ない例 $mode = (isset($arr['mode'])) ? $arr['mode']: null; if (1 === $mode) { } else { } 蛇足ですが、 Notice:Undefined index -> 「未定義の添字」 Notice: Undefined variable -> 「未定義の変数」
質問者
お礼
ご回答ありがとうございます! なるほど、issetですか、 http://php.net/manual/ja/function.isset.php を閲覧しましたが、私のような初心者には少し理解がしづらいですね・・・ しかし、検索するとissetでの解決法が沢山でてますのできちんと理解して使えるようになれるよう頑張ります! また、添字を変数と記述していた旨、ご訂正頂き、ありがとうございます!
お礼
ご回答ありがとうございます! filter_input関数というのがあるのは知りませんでした。 検索して出てきたページがissetでの解決法ばかりで、私のような初心者が説明を見ても少しややこしく感じてしまい、いまいち理解ができなかったのですが、filter_input関数は初心者にもわかりやすい関数な気がします! 記述も簡単なのでこちらを使いうことにしました! とはいえissetを使って解決する人も多いと仰っていただいていますので、issetについてもちゃんと理解ができるようにし、issetとfilter_input関数、どちらを使うのが自分として使いやすいのか改めて判断して選択したいと思います。 個人的にfilter_input関数の方が理解しやすかったのでベストアンサーにさせて頂きました。