en fait ce que tu cherches à faire c'est ça:Oui, les lignes que tu cites servent effectivement d'exemple.
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 $pattern = '~^([0-9]+(?:-[0-9]+){1,3})-\h*(.+)~m'; if (preg_match_all($pattern, $fileA, $mA) && preg_match_all($pattern, $fileB, $mB)) { // on crée un tableau associatif dont les clefs sont les parties textes et les valeurs sont la série de nombre $arrayA = array_combine($mA[2], $mA[1]); $arrayB = array_combine($mB[2], $mB[1]); // on enleve les doublons (i.e: ceux qui ont la même valeur, donc la même série de nombre) $arrayA = array_unique($arrayA); $arrayB = array_unique($arrayB); // on ne conserve que les entrées de $arrayA dont la valeur se trouve dans $arrayB $arrayA = array_intersect($arrayA, $arrayB); // on échange les clefs et les valeurs pour $arrayB $arrayB = array_flip($arrayB); // Affichage foreach ($arrayA as $k=>$v) { echo $v . "\t" . $k . "\n"; echo $v . "\t" . $arrayB[$v] . "\n"; } }
<pre> est une balise html pour afficher du texte formaté (en prenant en compte les espaces), c'est ici juste pour voir les sauts de lignes dans l'affichage.
Partager