Salve ragazzi. Premetto che ho cercato per ore nel forum e nel web, ma non sono riuscito a trovare nulla che faccia al caso mio. E' possibile, anzi probabile, che io sia troppo stupido o troppo ignorante per capire l'informatica a questi livelli di astrazione (permutazioni, calcolo combinatorio...: affascinante, ma mi dà il mal dimare
).
Ho trovato divesi snippet e una classe intera che consentono di generare tutte le combinazioni possibili trai valori di un array, ma... Ma io devo fare qualcosa di leggermente diverso. Senza sapere a priori con quanti array avrò a che fare né di quali dimensioni saranno, cioè senza sapere da quanti elementi saranno composti, ma sapendo che saranno comunque di dimensioni diverse, vorrei scrivere una routine in grado di combinare ciascun valore di ogni array con ciascun valore di tutti gli altri array.
Faccio un esempio.
Supponiamo di avere tre array
Codice PHP:
$arr1 = array("buono", "cattivo");
$arr2 = array("ghiacciato", "freddo", "tiepido", "caldo");
$arr3 = array("liquido", "solido", "gelatinoso");
Dati questi array, di cui - ripeto - io non so nulla nel momento in cui scrivo il codice, avrei bisogno di una routine che mi estragga le combinazioni possibili dandomi i seguenti risulatati
Codice PHP:
buono-ghiacciato-liquido
buono-freddo-liquido
buono-tiepido-liquido
buono-caldo-liquido
buono-ghiacciato-solido
buono-freddo-solido
buono-tiepido-solido
buono-caldo-solido
buono-ghiacciato-gelatinoso
buono-freddo-gelatinoso
buono-tiepido-gelatinoso
buono-caldo-gelatinoso
E così via con il cattivo. Inutile dire che non ci devono essere ripetizioni e che non devono essere combinati tra loro gli elòementi del medesimo array.
Mentre scrivo, mi viene in mente che potrei usare un algoritmo che combina gli elementi di un array dopo aver fatto un array_merge_recursive sui miei array, ma dopo dovrei trovare il modo di eliminare le combinazioni degli elementi provenienti dallo stesso array: da manicomio, e pure decisamente inelegante.
Qualcuno sa darmi una dritta.
Grazie di cuore