PhrozenCrew,
от предимствата, к изброяваш само номер 1 - бързината, би могло да бъде аргумент, а за нея не съм подготвен и не мога да коментирам.
Когато говориш за фор, не визираш единствено "стандартната" му конструкция, нали?
for ($i=$nachalo; $i<$stop; $i++)
Прегледността е субективна, а твърдението за "маневреността" важи с пълна сила за фор-цикъла - разполагаш си условията в главата или тялото и можеш да правиш куп неща, които с форейч винаги ще изискват допълнителни операции... И не можеш да ме убедиш, че форейч позволява по-добро управление на итерацията от фор... Не забравяй, че фор не само брои, а когато го прави стъпката може да бъде в произволни граници.
Ако говорим за обхождане на масив пак ще използвам фор... В случай, че е асоциативен, ще си послужа с уайл

Когато става дума за масив и/или броене, ще се съглася с теб, че е въпрос на предпочитания...
Колкото до случайния елемент няма да използвам цикъл, а риверсията отново касае масив и има поне 2 функции за обръщане, специфични за масиви...
Поздрави!
ПП: skatebord, извинявай, че май ти оспамихме темата

Надявам се, че си решил проблема!