array
添え字が数値の配列について、すこし動作を探ってみる。
$a = array(); $a[1] = 'a'; $a[3] = 'b'; $a['1'] = 'c'; print_r($a);
Array ( [1] => c [3] => b )
マニュアルにも、「あるキーが、整数の標準的な表現形式である場合、 そのように解釈されます。(つまり、"8"は 8として解釈されます。一方、 "08"は"08"として解釈されます。) 」とある。
$a = array(); $a[1] = 'a'; $a[3] = 'b'; $a[2] = 'c'; print_r($a);
Array ( [1] => a [3] => b [2] => c )
整数添え字でも、登録順は保存される。小さい順に並ぶわけではない。
添え字でソートするにはksort()関数を使う。ただし、1次元しかソートされないので、2次元配列を添え字でソートするには、
ksort($b); array_map('ksort', $b);