ついこないだ連想配列でちょっとはまってしまったのでメモ。
まずはとりあえずふつうに連想配列をつくってみる。
$array1 =array(
1 => 'first',
2 => 'second',
3 => 'third',
);
foreach($array1 as $value){
echo $value.'<br/>';
}
実行結果
first
second
third
これはわかったんだけど、
問題はこれ。
$array2 = array(
2 => 'second',
3 => 'third',
);//要素追加
$array2['1'] = 'first';foreach($array2 as $value){
echo $value.'<br/>';
}
実行結果
second
third
first
てっきり、
first
second
third
て結果になるかと思ったら違って1時間くらいはまってしまったw
連想配列で使用していたキーが数字の連番でふってあったので、
配列の添字と混同してしまったのが原因だったんかな〜と思います。
連想配列は便利だけど意外にくせものだなと感じましたが、
ソートしとけば問題ないみたいなので便利だな〜とも感じました。
$array2 = array(
2 => 'second',
3 => 'third',
);//要素追加
$array2['1'] = 'first';//sortする
sort($array2);foreach($array2 as $value){
echo $value.'<br/>';
}
実行結果
first
second
third