仙台の山奥で自転車に乗ったり転んだり

愛車の GIOS でサイクリングしたりポタリングしたり、それをブログに記録してみたり。ロードバイクや自転車や坂のことを書いてみたり。ときたまプログラムのことを忘れないようにメモってみたり。

文字列型の変数に対する「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'])」で偽になることを期待してスクリプトを書いていたような……。
少し不安になった。