Sucede que nos resulta imposible adivinar que haces mal, ya que en términos de sintaxis no tienes ningún error en dicho código.
Sin embargo, la librería o función que hace uso de dicho array lo requiere en determinada forma para que funciones, y como no es así sencillamente arroja el error.
Así que si tu no entiendes lo que haces mal nosotros menos, lo siento.
PDTA: Lo único que me queda claro es que no tienes la mínima intención de aprender a hacer las cosas, no nos ayudas a entender el problema y sencillamente te aferras a que alguien más te diga que haces mal.
Mal ahí.