par
pol2095 » 14 déc. 2011, 09:24
ça provient d'un fichier texte
Nouveau script, beaucoup plus rapide
$nom[0]="jean";
$nom[1]="georges";
$nom[2]="georges";
$nom[3]="yvette";
$nom[4]="georges";
$qte[0]="5";
$qte[1]="10";
$qte[2]="3";
$qte[3]="25";
$qte[4]="2";
$article[0]="chaussure";
$article[1]="pull";
$article[2]="pantalon";
$article[3]="casquette";
$article[4]="chaussette";
array_multisort($nom, $qte, $article);
$array_unique = array_unique($nom);
if(count($nom) - count($array_unique)) {
for ($i=0; $i<count($nom); $i++) {
if(! array_key_exists($i, $array_unique)) {
$qteFinal[$j] += $qte[$i];
$articleFinal[$j] .= " ".$article[$i];
}
else {
$j=$i;
$nomFinal[$i] = $nom[$i];
$qteFinal[$i] = $qte[$i];
$articleFinal[$i] = $article[$i];
}
}
}
$nom = array_values($nomFinal);
$qte= array_values($qteFinal);
$article= array_values($articleFinal);
ça provient d'un fichier texte
Nouveau script, beaucoup plus rapide
[php]$nom[0]="jean";
$nom[1]="georges";
$nom[2]="georges";
$nom[3]="yvette";
$nom[4]="georges";
$qte[0]="5";
$qte[1]="10";
$qte[2]="3";
$qte[3]="25";
$qte[4]="2";
$article[0]="chaussure";
$article[1]="pull";
$article[2]="pantalon";
$article[3]="casquette";
$article[4]="chaussette";
array_multisort($nom, $qte, $article);
$array_unique = array_unique($nom);
if(count($nom) - count($array_unique)) {
for ($i=0; $i<count($nom); $i++) {
if(! array_key_exists($i, $array_unique)) {
$qteFinal[$j] += $qte[$i];
$articleFinal[$j] .= " ".$article[$i];
}
else {
$j=$i;
$nomFinal[$i] = $nom[$i];
$qteFinal[$i] = $qte[$i];
$articleFinal[$i] = $article[$i];
}
}
}
$nom = array_values($nomFinal);
$qte= array_values($qteFinal);
$article= array_values($articleFinal);[/php]