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.