IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction pour grouper un tableau multi


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut Fonction pour grouper un tableau multi
    Bonjour à tous,

    Comment transformer ce tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    Array
    (
        [0] => Array
            (
                [2] => 120
            )
     
        [1] => Array
            (
                [2] => 116
            )
     
        [2] => Array
            (
                [3] => 50
            )
     
        [3] => Array
            (
                [3] => 38
            )
     
        [4] => Array
            (
                [6] => 120
            )
    )
    En celui-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Array
    (
        [0] => Array
            (
                [2] => 236
            )
     
        [1] => Array
            (
                [3] => 88
            )
     
        [2] => Array
            (
                [6] => 120
            )
    )
    C'est à dire groupé par sous-clés identiques.
    Merci du tuyau.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu veux dire "additionner les sous-clef identiques".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    foreach($tableau as $valeurs) {
                  foreach($valeurs as $id=>$valeur) {
                       isset($resultat[$id]) ? $resultat[$id] += $valeur : $resultat[$id] = $valeur;
                  }
    }
    print_r ($resultat);
    J'ai un poil triché en supprimant le premier niveau de résultat puisqu'il n'a plus de sens.

  3. #3
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Je te remercie beaucoup, ça va bien m'aider.
    Bonne soirée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] Fonction pour remplir un tableau
    Par renaud26 dans le forum Langage
    Réponses: 10
    Dernier message: 27/01/2008, 10h19
  2. Réponses: 3
    Dernier message: 08/08/2007, 09h47
  3. [SQL] Fonction pour trier un tableau
    Par ciel65 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2007, 16h43
  4. Réponses: 5
    Dernier message: 04/10/2006, 18h49
  5. Réponses: 9
    Dernier message: 17/02/2006, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo