La soluzione l'ha cortesemente fornita l'utente aneesme di forums.devshed.com Il codice è il seguente e devo ammettere che io ero totalmente fuori strada:
Codice PHP:
<?php
function generateCodes($arr) {
    
$pos 0;
    global 
$codes$pos;
    if(
count($arr)) {
        for(
$i=0$i<count($arr[0]); $i++) {
            
$tmp $arr;
            
$codes[$pos] = $arr[0][$i];
            
$tarr array_shift($tmp);
            
$pos++;
            
generateCodes($tmp);

        }
    } else {
        echo 
join(""$codes)."
"
;
    }
    
$pos--;
}
$a0 = array("01""02");
$a1 = array("uno""due""tre");
$a2 = array("verde""bianco");
$aG = array($a0$a1$a2);
$codes = array();
$pos 0;
generateCodes($aG);

?>
Funziona egregiamente.
Ciao a tutti