Es que sigues sobre-escribiendo el mismo índice, que uses array(valor) no agrega nada, no hay diferencia.
Te muestro un ejemplo.
Código PHP:
$foo = array();
foreach ($candy as $set => $value) {
if ( ! isset($foo[$set])) {
$foo[$set] = array(); // creamos el arreglo inicial
}
$foo[$set] []= $value; // vamos agregando
}
Pienso que deberías leer mas al respecto de arrays, te hace falta entender como funcionan.