Eso es debido a que la variable $coche es una copia del valor del array $coches. Para tener una referencia de la variables, hay que añadir & delante de $coche. Más informacion en la documentacion oficial del
foreach.
Aquí un ejemplo:
Código PHP:
$coches=array(1,2,3,4,5,6);
foreach($coches as &$coche)
{ $coche = 'hola';
}
Si no recuerdo mal, esto no funciona con versiones 'antiguas' del php. Si no te funciona, prueba a hacerlo con un for normal.
Un saludo