Réduction ou concaténation de tableaux PHP

Résolu
tweety -  
 tweety -
Bonjour,

J'ai une fonction qui me permet d'obtenir un tableau sous le format suivant afin d'effectuer un envoi de mail :

Array
(
    [0] => Array
        (
            [email] => toto@domain.tld
            [moyenne] => 30.2
        )
    [1] => Array
        (
            [email] => tata@domain.tld
            [moyenne] => 34.2
        )
    [2] => Array
        (
            [email] => toto@domain.tld
            [moyenne] => 12.3
        )
    [3] => Array
        (
            [email] => tata@domain.tld
            [moyenne] => 18.3
        )
    [4] => Array
        (
            [email] => titi@domain.tld
            [moyenne] => 14.7
        )
)


Je souhaiterais pouvoir obtenir un tableau au format réduit afin de limiter le nombre de mail à envoyer à chaque personne, le mail contiendra l'ensemble des informations (regrouper chaque cellule moyenne pour chaque email identique) :

Array
(
    [0] => Array
        (
            [email] => tata@domain.tld
            [moyenne] => 34.2;18.3
        )
    [1] => Array
        (
            [email] => titi@domain.tld
            [moyenne] => 14.7
        )
    [4] => Array
        (
            [email] => toto@domain.tld
            [moyenne] => 30.2;12.3
        )
)


Je n'ai pas fait attention en écrivant le 2ème tableau mais le classement par ordre alphabétique des email n'est pas requis.

En vous remerciant par avance de votre soutien.
Configuration: Windows Vista
Firefox 3.0.1

1 réponse

  1. tweety
     
    Merci quand même,

    J'ai trouvé une autre solution en donnant directement l'email comme nom de sous-tableau, dans ce cas, à chaque fois que je trouve un email, de rajoute la moyenne, sinon je crée un autre sous-tableau :

    $eleves[$eleve["email"]]["moyenne"] .= $moyenne.";";


    Du coup
    print_r($eleves);
    me donne :
    Array
    (
        [tata@domain.tld] => Array
            (
                [moyenne] => 34.2;18.3;
            )
        [titi@domain.tld] => Array
            (
                [moyenne] => 14.7;
            )
        [toto@domain.tld] => Array
            (
                [moyenne] => 30.2;12.3;
            )
    )
    0