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

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

配列キーでの「整数」と「数字文字列」の比較

どうでもいいことだけど、配列のキーが「整数」の場合と「数字文字列」の場合との比較が気になった。

$key_is_int = array(1, 2, 3, 4, 5);
$key_is_str = array('0' => 1, '1' => 2, '2' => 3, '3' => 4, '4' => 5);

// TRUE
var_dump($key_is_int === $key_is_str);

// TRUE
var_dump(isset($key_is_int['0']));

// TRUE
var_dump(isset($key_is_str[0]));

// 1 / 2 / 3 / 4 / 5
for ($i = 0, $n = count($key_is_str); $i < $n; ++$i) {
    echo "{$key_is_str[$i]}\n";
}

予想どおりだったけど、「$key_is_int === $key_is_str」くらいは偽になってほしかったかも。