PHPの連想配列に対し、1未満の実数値をキーとしていくつか要素を追加してみたけど、どういうわけか要素が1個から増えない。キーが勝手にintになってしまい、最後の要素だけが残ってるのかな?
<?php ////////////////////// // 文字列のキーでテスト... ////////////////////// $map1 = array(); $map1["0.0"] = "foo"; $map1["0.1"] = "bar"; $map1["0.2"] = "baz"; $map1["0.3"] = "qux"; // 期待通り var_dump($map1); ////////////////////// // 1未満の実数のキーでテスト... ////////////////////// $map2 = array(); $map2[0.0] = "foo"; $map2[0.1] = "bar"; $map2[0.2] = "baz"; $map2[0.3] = "qux"; // 要素が1個しかない!!! // キーが勝手にintになってしまうから??? // 最後の0.3だけが残ってる??? var_dump($map2); ////////////////////// // array()の段階で作ってみる ////////////////////// $map3 = array(0.0=>"foo", 0.1=>"bar", 0.2=>"baz", 0.3=>"qux"); // やっぱりダメっぽい var_dump($map3); ?>
上記のコードの実行結果はこちら→http://ideone.com/bFOej