какие минусы вижу я:
foreach - делает копию массива
while и for - применяют функции и присваивание
в общем что лучше использовать для оптимизации если ключи у массива разные и почему
$mas['am']=1;
....
$mas['ma']=1;
while($Mi=current($mas))
{
echo $Mi;
next($mas);
}
// or
foreach($mas as $key => $val) {
echo $val;
}