Acabo de ejecutar tu seudo-código y me resulta bien:
Mira:
Código PHP:
Ver original$i=0;
foreach($array as $key =>$value){
if($i==3) { echo "hola"; }
echo $value."<br>\n";
$i++;
}
¿A qué te refieres con mantener la key?
Mejor muestra cual sería el resultado que esperas porque yo no te he entendido nada.