Comment générer en PHP toutes les combinaisons d'éléments dans plusieurs tableaux
Je naim essayer de trouver toutes les combinaisons d'éléments dans plusieurs tableaux.
Le nombre de tableaux est aléatoire (ce qui peut être 2, 3, 4, 5...).
Le nombre d'éléments dans chaque tableau est trop aléatoire...
Par exemple, j'ai les 3 tableaux :
$arrayA = array('A1','A2','A3');
$arrayB = array('B1','B2','B3');
$arrayC = array('C1','C2');
Je voudrais générer un tableau avec 3 x 3 x 2 = 18 combinaisons :
- A1, B1, C1
- A1, B1, C2
- A1, B2, C1
- A1, B2, C2
- A1, B3, C1
- A1, B3, C2
- A2, B1, C1
- A2, B1, C2
...
Le problème est de créer une fonction avec un nombre variable de la source des tableaux...
- Vous voulez toujours un seul élément de chaque tableau?
Vous devez vous connecter pour publier un commentaire.
Ici est solution récursive:
C'est un produit cartésien, et je viens de posé la même question il y a pas longtemps. Voici la algorithme qui est affiché sur le site web PHP.
Ce code en plus de la simplicité, obtenir toutes les combinaisons de plusieurs tableaux et conserve les clés.
Exemple:
Sera de retour:
Je sais que cette question est vieux, mais j'ai eu le même problème aujourd'hui et a décidé de donner le nouveau Générateur d'essayer:
Résultat:
array(4) { 'd' => string(1) "E" 'c' => string(1) "C" 'b' => string(1) "B" 'a' => string(1) "A" }
['a' => [['key' => 'a', 'value' => 'A'], ['key' => 'a', 'value' => 'n']]]
Encore une idée: