Bonjour tout le monde,
je dois calculer les combinaisons possibles entre plusieurs tableaux donnés (dont le nombre peut varier).
Voici un exemple:
Code :
- $tab_couleurs = array('bleu','blanc','rouge');
- $tab_tailles = array('M','L','XL');
- $tab_manches = array('manches courtes','manches longues');
- $tab_valeurs = array();
- $tab_valeurs[] = $tab_couleurs;
- $tab_valeurs[] = $tab_tailles;
|
//Un petit print_r() de $tab_valeurs nous donne:
Array
(
[0] => Array
(
[0] => bleu
[1] => blanc
[2] => rouge
)
[1] => Array
(
[0] => M
[1] => L
[2] => XL
)
[2] => Array
(
[0] => manches courtes
[1] => manches longues
)
)
Le code suivant nous renvoie les combinaisons possibles:
Code :
- foreach($tab_valeurs as $tab_type_champ) {
- foreach($tab_valeurs[0] as $taille) {
- foreach($tab_valeurs[1] as $manches) {
- echo ++$i.' - '.$couleur.' -> '.$taille.' -> '.$manches.'<br/>';
- }
- }
- }
|
Résultat:
1 - -> bleu -> M
2 - -> bleu -> L
3 - -> bleu -> XL
4 - -> blanc -> M
5 - -> blanc -> L
6 - -> blanc -> XL
7 - -> rouge -> M
8 - -> rouge -> L
9 - -> rouge -> XL
10 - -> bleu -> M
11 - -> bleu -> L
12 - -> bleu -> XL
13 - -> blanc -> M
14 - -> blanc -> L
15 - -> blanc -> XL
16 - -> rouge -> M
17 - -> rouge -> L
18 - -> rouge -> XL
J'aimerai pouvoir obtenir ce résultat via une fonction récursive, du type recurseTab($tab_valeurs), qui génèrerait les combinaisons possibles quel que soit le nombre de tableaux présents dans $tab_valeurs (par exemple taille+couleur, taille+couleurs+manches, taille+couleurs+manches+capuche, etc..)
Quelqu'un pourrait-il m'aider dans ma démarche?