Есть исходный массив asd[[0],[1],[2],[3],[4]];
Каждый элемент, кроме нулевого представляет из себя массив только из нулевого элемента.
 
  
  
  
  
  
  
 
Необходимо чтобы при каждом переборе массива к каждому элементу, отличному от нуля, Добавлялись по 4 таких же массива, состоящему только из нулевого элемента. 
На словах сложно 

 , объясню на примерах 

 :
Как исходник имеем массив 
asd[
  [0],
  [1],
  [2],
  [3],
  [4]
];
После первого прохода цикла, получаем следующий массив:
asd[
  [0],
  [1, 
    [0],
    [1],
    [2],
    [3],
    [4]
    ],
  [2, 
    [0],
    [1],
    [2],
    [3],
    [4]
    ],
  [3, 
    [0],
    [1],
    [2],
    [3],
    [4]
    ],
  [4, 
    [0],
    [1],
    [2],
    [3],
    [4]
    ],
];
Следующий цикл преобразует этот массив в это:
asd[
  [0],
  [1, 
    [0,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [1,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [2,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [3,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [4,
      [0],
      [1],
      [2],
      [3],
      [4]
    ]
    ],
  [2, 
    [0,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [1,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [2,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [3,
      [0],
      [1],
      [2],
      [3],
      [4]
    ],
    [4,
      [0],
      [1],
      [2],
      [3],
      [4]
    ]
    ], и т.д.
При этом в процессе выполнения цикла, необходимо задавать элементам значения. 
asd[1][2][2][1][2][3][4][1][2] = 4;
asd[1][2][2][1][2][3][4][1][3] = 0;
И т.д.
С принципами работы циклов я знаком, но не пойму как при создании этого здоровенного многоуровневого массива присваивать значения его элементам.
При выполнении определенного условия, выполнение цикла будет прекращено, но сколько раз цикл будет совершен - неизвестно.
Может, кто-то знает как решить сию задачу? Или, может, есть какие-то другие способы ее решения кроме циклов?