Это зависит от того, можете ли вы разделить класс на подклассы.
Редактировать: я имею в виду, что вы должны спросить себя: «Этот метод применим к этому классу или он принадлежит подклассу?»
Например,
Class Animal - dog_bark()dog_bark () может быть перемещен в класс с именем Dog, а метод переименован в bark ()
массив в PHP на самом деле является упорядоченным карта. Карта - это тип, который связывает значения в ключи. Этот тип оптимизирован для нескольких различных целей; может быть рассматривается как массив, список (вектор), хэш-таблица (реализация карта), словарь, сборник, стек, очереди и, возможно, др.
и
Массивы упорядочены. Заказ может быть изменено с помощью различной сортировки functions.
Так что вы можете быть уверены (по крайней мере, в настоящее время), что порядок будет поддерживаться. Я был бы очень удивлен, если бы это поведение изменилось, потому что оно четко указано, и из-за этого будет огромное количество кода, который полагается на него.
Поскольку массивы всегда упорядочены, и самый простой и быстрый способ перебрать массив - это просто перейти от первого элемента к последнему (поэтому нет веских причин для изменения поведения для foreach ()), вы можете быть уверены, что это поведение не изменится.
Похоже, что ваши вопросы возникли из программирования на Perl, где "массивы" не обязательно находятся в том порядке, в котором вы создал их. Но в PHP это всегда было упорядочено и будет всегда, иначе большая часть кода выйдет из строя.