Bonjour,

je souhaite coder un script qui me permet de fusionner un nombre de tableaux définis ( pour l'instant ) selon la similarité de leur valeur.

Etape 1 : j'ai une liste de base avec différentes phrases de différentes tailles.
Etape 2 : je découpe cette liste en plusieurs tableaux selon le nombre de mots
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
$max = 6;
 
for ($i = 1; $i <= $max; $i++) {
	${'n'.$i} = array();
		foreach ( $test as $key => $taille ){
		$tWord = explode(' ', $taille);
		$nb = count($tWord);
			if ($nb == $i){
				${'n'.$i}[] =  $taille;
				unset($test[$key]);
			}
		}
	}
Etape 3 ... et c'est la que je bloque ... je fusionne les X tableaux selon leur similarité.

J'arrive à fusionner 2 tableau ( le 1 avec le 2, le 3, avec le 4, etc ... ) mais pas tous les compiler
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
$max = 6;
for ($i = 1; $i <= $max; $i++) {
	$ip = $i + 1 ;
 
	foreach (${'n'.$i} as $key => $nivsupp) {
		foreach (${'n'.$ip} as $key2 => $nivinff) {
			$pos1 = stripos($nivinff, $nivsupp);
			if ($pos1 !== false) {
			${'n'.$i}[$nivsupp][] = $nivinff;
			unset (${'n'.$ip}[$key2]);
			unset(${'n'.$i}[$key]);
			}
		}
	}
}

Exemple d'utilisation
Bonjour
bonjour toi
bonjour toi, comment tu t'appel
Salut
Salut sacha
Salut sacha ça va ?
Je voudrais que le script me retourne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
array('Bonjour' => array( "bonjour toi")=> array( "bonjour toi, comment tu t'appel") , 'Salut' => array("Salut sacha")=> array( "Salut sacha ça va ?") );

Merci pour votre aide