Como agrupar uma matriz multidimensional por um valor específico de sub-matriz?

Eu tenho uma matriz multidimensional e estou tentando agrupá-los de acordo com o valor em uma coluna específica.

Estou tentando agrupá-los porlevel, mas não conhecerei o nível de antemão. Então, não é como se eu pudesse colocá-lo em umfor dar laços e dizerwhile $i < 7porque eu não vou saber isso7 é o valor máximo da chave de nível e, francamente, não tenho certeza de que precisaria fazê-lo, mesmo que o fizesse ...

Array (
   [0] => Array (
          [cust] => XT8900
          [type] => standard
          [level] => 1
          )
   [1] => Array (
          [cust] => XT8944
          [type] => standard
          [level] => 1
          )
   [2] => Array (
          [cust] => XT8922
          [type] => premier
          [level] => 3
          )
   [3] => Array (
          [cust] => XT8816
          [type] => permier
          [level] => 3
          )
   [4] => Array (
          [cust] => XT7434
          [type] => standard
          [level] => 7
          )
)

O que espero produzir:

Array (

   [1] => Array (
          [0] => Array (
                    [cust] => XT8900
                    [type] => standard
                    )
          [1] => Array (
                    [cust] => XT8944
                    [type] => standard
                    )
          )

   [3] => Array (
          [2] => Array (
                 [cust] => XT8922
                 [type] => premier
                 )

          [3] => Array (
                 [cust] => XT8816
                 [type] => permier
                 )
          )

   [7] => Array (
          [4] => Array (
                 [cust] => XT7434
                 [type] => standard
                 )
          )
)

questionAnswers(7)

yourAnswerToTheQuestion