Timeout avec fonction array_unique, comment l'optimiser ?
Bonjour,
J'ai un fichier à plat, avec 5000 occurrences séparées par le symbole # avec des doublons.
Citation:
Ex : toto#titi#titi#tata#titi#toto#tata#tutu#titi#toto#toto
Pour supprimer les doublons j'utilise la fonction : array_unique.
Cependant j’obtiens un timeout à 30s car le fichier est trop gros.
Savez vous comment faire pour optimiser le code pour que je parse le fichier sans timeout ?
Merci d'avance.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
//Ouverture du fichier en lecture seule
$filename = './data/team.txt';
$resultat = fopen($filename, 'r');
//Si on a réussi à ouvrir le fichier
if ($resultat)
{
//Tant que l'on est pas à la fin du fichier
while (!feof($resultat))
{
$compteur++;
//On lit la ligne courante
$line= fgets($resultat);
$recherche= explode("#", $line);
$selected = '';
foreach($recherche AS $cle => $valeur)
{
$uniqueArray = array_unique($recherche, SORT_REGULAR);
}
}
//On ferme le fichier
fclose($resultat);
} |