bonjour,

Je cherche à remplir un tableau avec l'ensemble des combinaisons dans l'ordre possible de n parmi p.
J'ai trouvé plusieurs sujets qui proposent une solution mais juste dans le désordre
exemple : http://www.developpez.net/forums/d10...mi-n-elements/

La solution de senacle est parfaite mais calcule uniquement les combinaisons dans le désordre.
12345=54321
Or, je souhaite que 12345 soit different de 54321.

code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
$liste2 = array("banane",5,"escalier",9,11);
 
function partition2($index, $p, $n, $ordered, $liste) {
	global $liste2;
	if ($index>=$p) {// la liste est construite -> FIN
		echo implode(" - ", $liste)."<br/>";
		return;
	}
	// ajoute un nouvel element candidat dans la liste
	// - sans ordre -> candidat: tous les elements
	// - avec ordre -> candidat: seulement les elements supérieurs au précédent
	$start=0;
	if ($ordered && $index>0) {
		$start = array_search($liste[$index-1], $liste2) + 1;
	}
	for($i=$start;$i<$n;$i++) {
		$liste[$index] = $liste2[$i];
		partition2($index+1, $p, $n, $ordered, $liste);
	}
}
partition2(0, 4, count($liste2), $ordered = true, $liste = array());
Je pense que ce code est adaptable mais je ne vois pas du tous a quel niveau.
Est-ce que quelqu'un à déjà eu besoin de réaliser ce calcul ? et si oui pouvez vous m'aider a adapter ce code voire le refondre totalement.

Merci d'avance