数値添字配列の並び順

問 次のPHPスクリプトの出力はどうなるか?
$array = array(
    0 => 'zero',
    2 => 'two',
    1 => 'one',
);
 
foreach ($array as $value) {
    echo $value, PHP_EOL;
}

zero
two
one
数値添字の昇順に「zero, one, two」と出力されるわけではないので注意が必要です。

PHPの配列の添字って、「並び順を示す数字」じゃなくて、単なる値のkeyなんですね。パーフェクトPHP にも、『PHPの配列はすべて連想配列であると言えます(p.82)』とあります。