Se están borrando los anteriores por que los estás sobreescribiendo al darles siempre el mismo nombre, las keys de un arreglo son como su identificador y debe ser único.
Aunque he notado que en el "for" que publicas más arriba lo que estás haciendo es otra cosa más similar a esto:
En fin, si quieres que quede como tu ejemplo puedes hacer esto:
Código PHP:
Ver originalfor($i=0; $i<sizeof($result); $i++) { $result_nuevo["ref$i"] = $result[$i];
$result_nuevo["id$i"] = $id;
}
el resultado quedaría similar a esto:
Código PHP:
Ver original{
ref0=>111 id0=>5
ref1=>222 id1=>5
ref2=>333 id2=>5
ref3=>444 id3=>5
ref4=>555 id4=>5
// añadir nuevos elementos
ref5=>4545 id5=>6
ref6=>8585 id6=>6
ref7=>9696 id7=>6
}