PHPにおける配列の要素順序
既にご存知のように、通常の配列では要素は厳格な順序で配置されます。というのも、各要素の位置はそのキーによって決定されるからです。連想配列では、私たち自身がキーを割り当てるため、要素が現れる順序は重要ではありません。
例として、次のような連想配列を見てみましょう:
<?php
$arr = [1 => 'value1', 2 => 'value2', 3 => 'value3'];
echo $arr[1]; // 'value1'を出力
echo $arr[2]; // 'value2'を出力
echo $arr[3]; // 'value3'を出力
?>
この配列の要素(もちろんそれらのキーと一緒に)を任意の順序で入れ替えても、スクリプトの動作は何も変わりません:
<?php
$arr = [3 => 'value3', 1 => 'value1', 2 => 'value2'];
echo $arr[1]; // 'value1'を出力
echo $arr[2]; // 'value2'を出力
echo $arr[3]; // 'value3'を出力
?>
さらに、数値キーはすべての値が隙間なく連続している必要はありません。任意の数値を使用でき、それは何の問題も引き起こしません:
<?php
$arr = [7 => 'value1', 50 => 'value2', 23 => 'value3'];
?>
ご自身の連想配列のいずれかで、上記のことを確認してみてください。