私の勘違いみたいなのですが、
case1の書き方だと&&の後ろまで同時に評価されてしまって、
isset($hoge)がfalseのケースではエラーになると思っていて、
長年case2のように記述していました。
//case1 if (isset($hoge) && $hoge['hoge'] != '') { echo $hoge['hoge']; }
//case2 if (isset($hoge)) { if ($hoge['hoge'] != '') { echo $hoge['hoge']; } }
最近case1でも大丈夫だと気付いたのですが、
何か釈然としません。
他の言語で同様の記述だとエラーになっていたのか、
PHP4など昔のバージョンではエラーだったのか分からないのですが、
エラーになってしまうというという確かな体験から
わざわざcase2の書き方をしていたはずなのです。
これってただの勘違いでしょうか?
「勘違いじゃないですよ」という回答を望んでいるのであれば質問者様が経験された言語とそのバージョンを記載いただければピンとくる方がいらっしゃるかもしれません。
「勘違いでしょうか?」と質問にあるので、勘違いですという回答がつくのは当然かと思います。
回答7件
あなたの回答
tips
プレビュー