Solid
Ты не прав, в данном конкретном случае фанат прав на 99% твои понятия "оптимизированности" охватывают лишь читабельность кода.
Что касается быстродействия то в РНР-4.4.4 и размере массива 1000000 записей у меня скорость распределилась так
(по понятным причинам вместо "echo" я использовал пустую функцию чтоб не париться)
4.29374599457 сек (while)
4.65133285522 сек // вот тебе и самый "оптимизированный"
4.11168503761 сек (for)