Bonjour à tous
je dispose de deux tableaux A et B contenant chacun près de 100 000 valeurs et d'un tableau C vide.
je veux faire des tests simultanés sur les valeurs des tableaux A et B puis remplir le tableau C selon que le test réalisé soit vrai ou faux. Ce pendant, la grande taille des tableaux A et B font ramer mon code (alors que le code tourne plus vite lorsque ces tableaux sont de petites tailles) et je me demande s'il y aurait pas mieux.
Un exemple:
Explication:
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 $A=array('1','2','3','8','5'); $B=array('6','7','8','3','10'); $C=array(); for($i=0;$i<count($b);$i++) { if (($a[array_search($b[$i],$a)]==$b[$i]) && ($b[array_search($a[$i],$b)]==$a[$i])) { $c[$i]='bi'; } else { $c[$i]='mono'; } }
lorsque quelque part dans le tableau A on a une certaine valeur a et, à cette même position, on a une certaine valeur b dans le tableau B, si il existe une position où l'on retrouve b dans A et a dans B alors à cette position dans C on met la valeur 'bi'; autrement, on met la valeur 'mono'.
Ce code tourne bien et à la vitesse de la lumière.
Mais quand j'utilise de grands tableaux (100 000 valeurs), il met plus de 20 minutes!
Comment faire pour l'optimiser avec de grands tableaux???
Merci d'avance.
Partager