Ordenando la matriz por cuenta de subarray

Tengo una matriz parecida a esto:

Array(
   ['some_first_category'] => Array(
            ['some_first_name'] => Array(
                           [0]=>'[email protected]',
                           [1]=>'[email protected]',
                           [2]=>'[email protected]',
                           [3]=>'[email protected]' )
             ['some_second_name'] => Array (
                           [1]=>'[email protected]',
                           [2]=>'[email protected]')
             ['some_third_name'] => Array(
                           [1]=>'[email protected]',
                           [2]=>'[email protected]',
                           [3]=>'[email protected]',
                           [4]=>'[email protected]' )
   ['some_second_category'] => Array(
            ['some_first_name'] => Array(
                           [0]=>'[email protected]' )
             ['some_second_name'] => Array(
                           [1]=>'[email protected]',
                           [2]=>'[email protected]',
                           [3]=>'[email protected]',
                           [4]=>'[email protected]')
             ['some_third_name'] => Array(
                           [1]=>'[email protected]',
                           [2]=>'[email protected]'))

Y quiero ordenar la matriz por el número de valores de los que tienen los nombres. En mi caso, quiero convertirme en esta matriz:

Array(
   ['some_first_category'] => Array(
             ['some_third_name'] => Array(
                           [1]=>'[email protected]',
                           [2]=>'[email protected]',
                           [3]=>'[email protected]',
                           [4]=>'[email protected]' )
            ['some_first_name'] => Array(
                           [0]=>'[email protected]',
                           [1]=>'[email protected]',
                           [2]=>'[email protected]',
                           [3]=>'[email protected]' )
             ['some_second_name'] => Array (
                           [1]=>'[email protected]',
                           [2]=>'[email protected]')

   ['some_second_category'] => Array(
             ['some_second_name'] => Array(
                           [1]=>'[email protected]',
                           [2]=>'[email protected]',
                           [3]=>'[email protected]',
                           [4]=>'[email protected]')
             ['some_third_name'] => Array(
                           [1]=>'[email protected]',
                           [2]=>'[email protected]')
            ['some_first_name'] => Array(
                           [0]=>'[email protected]' ))

Esto significa clasificar las categorías por nombre por el número (conteo) de valores de los nombres. ¿Puede ayudarme alguien? Gracias por adelantado,

Aäron

Respuestas a la pregunta(3)

Su respuesta a la pregunta