PHPで連想配列に値を入れ、以下のようにforeachで回すと、$dataに代入された順に 「hoge1 hoge2 hoge3」と出力されますが、この順番は将来に渡って保証されているものなのでしょうか? perlの場合保証されていない、ということを聞いたので気になりました。 保証されている場合、参考資料などありましたら教えて下さい。 また、この代入の順番を期待するようなやり方は、通常の配列($data[0]など)を 使ってやるのがセオリーなのでしょうか。よろしくお願いします。 $data = array('hoge1'=>'1','hoge2'=>'2','hoge3'=>'3'); foreach ($data as $key => $value) { echo $key." "; } ■結果 hoge1 hoge2 hoge3