Salve a tutti.
Vi espongo il mio problema. Supponiamo di avere un indefinito numero di array e di voler ottenere tutte le combinazioni
possibili tra ciascun elemento di ciascun array e ciascun elemento di ogni altro array. Un esempio chiarirà meglio la questione.
$a1 = array("01", "02");
$a2 = array("bianco", "verde");
$a3 = array("uno", "due", "tre");
Io voglio ottenere le seguenti combinazioni
01 uno verde
01 due verde
01 tre verde
01 uno bianco
01 due bianco
01 tre bianco
02 uno verde
02 due verde
02 tre verde
02 uno bianco
02 due bianco
02 tre bianco
Per ora sono riuscito ad ottenere questo
//creo un array di array
$aG[0] = $arr0;
$aG[1] = $arr1;
$aG[2] = $arr2;
e lo passo ad una funzione
createCode6($aG);
La funzione è:
function createCode6($listOfArray){
$i = 0;
$len = sizeof($listOfArray);
while ($i < $len){
for ($y=0;$y<sizeof($listOfArray[0]);$y++){
$code = array();
$code[] = $listOfArray[0][$y];
for ($x=1;$x<$len;$x++){
$code[] = $listOfArray[$x][$i];
}
echo implode('',$code);
echo "<br>";
}
$i++;
}
}
Si ottiene il seguente risultato
01unoverde
02unoverde
01duebianco
02duebianco
01tre
02tre
Qualcuno ha qulache idea o suggerimento? Fin'ora ho trovato solo algoritmi combinatori che danno tutte le combinazioni possibili (con o senza ripetizioni) tra gli elementi di un singolo array.
Gratitudine eterna per chiunque mi dia una dritta
Ciao