PHP diziler keyfi bir sayı her olası birleşimini bulmak için nasıl

1 Cevap php

Ben php iç içe diziler keyfi bir dizi var. Örneğin:

Array
(
    [0] => Array
        (
            [0] => 36
            [0] => 2
            [0] => 9
        )

    [1] => Array
        (
            [0] => 95
            [1] => 21
            [2] => 102
            [3] => 38
        )

    [2] => Array
        (
            [0] => 3
            [1] => 5
        )

)

Ben bu iç içe diziler her olası tüm kombinasyonları birleştirmek için en etkili yolu bulmak istiyorum. Şöyle bir şey ile bitirmek istiyorum ...

Array
(
    [0] => "36,95,3"
    [1] => "36,95,5"
    [2] => "36,21,3"
    [3] => "36,21,5"

    etc...

)

Sonuçlar birleştirilir sırası önemli değildir. Oradaki "3,95,36" arasında hiçbir fark "36,95,3" ve "95,36,3" demek olduğunu. Ben bu gereksiz kombinasyonları atlamak istiyorum.

Bu konuda gitmek konusunda herhangi bir öneriniz çok takdir.

Teşekkür peşin,

1 Cevap

Grupların herhangi bir sayıda (Groovy'de basit tutmak) Genel permütasyon çözüm.

list = [["A", "B", "W"], ["C", "D"], ["X", "Y"]]

r = []
void p(List<List<String>> l, int n) {
    for(t in l[n]) {
        r[n] = t
        if (n < l.size() - 1) {
            p(l, n + 1)
        } else {
            println(r)
        }
    }
}

p(list, 0);