- ベストアンサー
「isset」の用法について
「isset」は変数の存在を判定する関数ということですが 以下の場合だと同じ意味になると思うのですが それであれば「isset」を使わないほうがシンプルになると思います。 「isset」を使うにあたって何か特別な意味や 用法があるのでしょうか? ----------------------- if(isset($abc){ echo $abc; } と if($abc){ echo $abc; } は同じだと思うのですが。。。 ----------------------- よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
前の質問で理解していないといけないんだけど・・・ http://okwave.jp/qa/q8478623.html 「チェックすること」って書いたのに、@でエラー抑制って返されたくらいだからダメだったかなとは思ってたww POSTされたかどうかは、if (isset($_POST['xxx'])) でしかチェック出来ません。いきなり if ($_POST['xxx']) などとすると(質問者さんが経験されたとおり)Noticeエラーになります。 「POSTされていたら値をセットする」なんてときには $xxx = isset($_POST['xxx']) ? $_POST['xxx'] : ''; といった書き方が定石です。
その他の回答 (1)
php.ini の設定で error_reporting = E_ALL | E_STRICT display_errors = On として、「全てのエラーを表示」する状態にして、両方のコードを試してみてください。 Qiita - $_GET, $_POSTなどを受け取る際の処理 http://qiita.com/mpyw/items/2f9955db1c02eeef43ea なお、emptyに関して... empty($var) は !isset($var) || !$var と全く同じ意味です。
お礼
アドバイスしていただいた事を いつか理解できるようになるため もっとがんばろうと思います。 ありがとうございました!
補足
早速のご回答ありがとうございます。 まだ理解できるようなレベルではないのですが 違いはそんな単純ではないのですね。。。
お礼
PHPの勉強を始めてまだ数週間しかたっておらず 途中で投げ出さないよう理解できないままでも 進めて行っており混乱しながら勉強しております。 isset関数の使い方もそんなに単純ではないということが 分かったのですが、とりあえずPOSTで受け取る時の 値の有無はissetを使うようにしなければならないという ことを覚えておきます。 ありがとうございました。