Encuentre todas las combinaciones únicas posibles de elementos de una matriz en PHP [duplicar]

Esta pregunta ya tiene una respuesta aquí:

Encontrar los subconjuntos de una matriz en PHP 3 respuestas

Soy consciente de varias preguntas que cubren este tema (por ejemplo,aquí), pero ninguno de ellos (al menos por lo que encontré) hace lo que necesito.

Digamos que tengo una matriz de 3 elementos[1, 2, 3]. Necesito encontrar todas las combinaciones únicas posibles (excluyendo permutaciones, comoaquí), incluidos los de elementos repetidos. Entonces el resultado debería ser:

[1]
[2]
[3]
[1, 1]
[1, 2]
[1, 3]
[2, 2]
[2, 3]
[3, 3]
[1, 1, 1]
[1, 1, 2]
[1, 1, 3]
[1, 2, 2]
[1, 2, 3]
[1, 3, 3]
[2, 2, 2]
[2, 2, 3]
[2, 3, 3]
[3, 3, 3]

Excluyendo subconjuntos como[3, 2, 1] o[2, 1, 3], que son lo mismo que[1, 2, 3].

¿Cómo puedo conseguir esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta