文字列型の変数に対する「isset($xxx[x])」の挙動
isset($d["hoge"])が成り立つのは文字列だからです - よくきたblog
試してみた。
$hoge = 'hoge'; var_dump(isset($hoge['hoge'])); // bool(true) echo $hoge['hoge']; // 'h' echo $hoge[0]; // 'h' echo $hoge[(int) 'hoge']; // 'h' $no_str = ''; var_dump(isset($no_str[0])); // bool(false)
変数が文字列だから、「isset($hoge['hoge'])」で偽になることを期待してスクリプトを書いていたような……。
少し不安になった。