Réduction ou concaténation de tableaux PHP

Résolu/Fermé
tweety - 21 sept. 2008 à 13:29
 tweety - 21 sept. 2008 à 14:20
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.
A voir également:

1 réponse

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