Когда я выполняю цикл foreach над ассоциативным массивом в php, порядок, в котором он выполняется, является порядком, в котором он определен.
Например:
$arr = array("z" => "z", "a" => "a", "b" => "b");
foreach($arr as $key => val)
print("$key: $val\n");
Выходы:
z: z
a: a
b: b
Принимая во внимание
$arr = array("a" => "a", "b" => "b", "z" => "z");
Выходы:
a: a
b: b
z: z
Итак, мой вопрос: это поведение определяется на уровне спецификации? Могу ли я иметь достаточную уверенность в том, что это поведение не изменится в будущих версиях PHP?