Tri d'un tableau et calculs [Résolu/Fermé]

Signaler
Messages postés
16
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
19 novembre 2013
-
Messages postés
16
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
19 novembre 2013
-
Bonjour,

Je dispose d'array contenant de multiples informations, et parfois avec des doublons.
J'aimerais pouvoir générer un nouveau tableau à partir du premier, qui récapitulerais les informations contenus dans le premier.

En gros j'ai :


<?php
$recapitulatif = array (
"Nom_du_site" => "",
"Temps_de_connexion" => "",
"Octets_recus"=> "",
"Octets_envoyes" => "");

$tableau_test = array (
"Nom_du_site" => "",
"Temps_de_connexion" "",
"Octets_recus"=> "",
"Octets_envoyes" => "");

$i = 0;

$recapitulatif['Nom_du_site'][0] = 'Paris';
$recapitulatif['Nom_du_site'][1] = 'Paris';
$recapitulatif['Nom_du_site'][2] = 'Angers';
$recapitulatif['Temps_de_connexion'][0] = 247;
$recapitulatif['Temps_de_connexion'][1] = 458;
$recapitulatif['Temps_de_connexion'][2] = 158;
$recapitulatif['Octets_recus'][0] = 5877;
$recapitulatif['Octets_recus'][1] = 4250;
$recapitulatif['Octets_recus'][2] = 7250;
$recapitulatif['Octets_envoyes'][0] = 8974;
$recapitulatif['Octets_envoyes'][1] = 6250;
$recapitulatif['Octets_envoyes'][2] = 16250;
?>


Et je souhaiterai que mon deuxième tableau au final se présente sous cette forme :


<?php
$tableau_test['Nom_du_site'][o] = 'Paris';
$tableau_test['Nom_du_site'][1] = 'Angers';
$tableau_test['Temps_de_connexion'][o] = 705; // 247 + 458
$tableau_test['Temps_de_connexion'][1] = 158;
$tableau_test['Octets_recus'][o] = 10127; //5877 + 4250
$tableau_test['Octets_recus'][1] = 7250;
$tableau_test['Octets_envoyes'][o] = 15224; //8974 + 6250
$tableau_test['Octets_envoyes'][1] = 16250;
?>



En gros, je parcourt une fois mon premier tableau et relève chaque valeur, puis je parcourt mon 2ème tableau et vérifie si la valeur existe déjà (ça se base sur le nom du site donc).

Si le nom du site existe dans le 2ème tableau, je cherche toute les occurrences de ce nom de site dans le 1er tableau, je récupère les information relatives à ce site, et j'additionne les valeurs.

Je récupère le résultat de l'addition de chaque champs dans son champ équivalent du nouveau tableau.

Ainsi pour Paris du 1er tableau on avait :


Paris : (1ère occurrence)
Temps de connexion = 247
Octets reçu = 5877
Octets envoyes = 8974

Paris : (2ème occurrence)
Temps de connexion = 458
Octets reçu = 4250
Octets envoyes = 6250



Et à la fin on se retrouve avec ceci :


Paris : (Résumé)
Temps de connexion (total) = 705
Octets reçu (total) = 10127
Octets envoyes (total) = 15224


J'ai déjà tenté avec pas mal de fonctions je ne vais pas toute les lister ici ça prendrait trop de temps :p
Ma dernière en date est :


<?php
foreach ($recapitulatif as $test)
{
$var1[$i] = $test['Nom_du_site'];
$var2[$i] = $test['Temps_de_connexion'];
$i++;
}
?>



Pour récupérer les informations.

Le problème c'est que


<?php
$test['Nom_du_site'];
$test['Temps_de_connexion'];
?>



ne sont pas reconnus, du moins les champs ['Nom_du_site'] et ['Temps_de_connexion'].

Je dois donc mal utiliser la fonction foreach, peut-être que ce n'est pas la bonne fonction à utiliser, enfin bref, ça va faire 7-8h que je plenche dessus, et je n'arrive pas à des résultats satisfaisants.

Si quelqu'un pouvait me donner un nom de fonction, une piste, une page de php.net qui serait capable de m'aider à avancer (je n'attend pas qu'on me mâche le code tout cru, j'ai horreur de ça, je préfère comprendre ce que je fait).

En vous remerciant par avance :)

1 réponse

Messages postés
16
Date d'inscription
vendredi 10 juillet 2009
Statut
Membre
Dernière intervention
19 novembre 2013