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 :

[Tableaux] Réorganiser un tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2004
    Messages : 34
    Par défaut [Tableaux] Réorganiser un tableau
    Bonjour,

    J'ai le tableau suivant :

    Array
    (
    [0] => Array
    (
    [0] => Array
    (
    [ENSEIGNE] =>
    [TYPE] =>
    [NB] =>
    [IDACTION] => 126
    )

    )

    [1] => Array
    (
    [0] => Array
    (
    [ENSEIGNE] => ALAPA
    [TYPE] => 1
    [NB] => 1
    [IDACTION] => 149
    )

    )

    [2] => Array
    (
    [0] => Array
    (
    [ENSEIGNE] => ALAPA
    [TYPE] => 1
    [NB] => 1
    [IDACTION] => 148
    )

    )

    [3] => Array
    (
    [0] => Array
    (
    [ENSEIGNE] =>
    [TYPE] =>
    [NB] =>
    [IDACTION] => 147
    )

    )

    )

    Savez-vous comment je peux faire svp pour réorganiser le tableau pour avoir le NB de mails par ENSEIGNE et par TYPE ? Par exemple, ici j'ai 2 mails ALAPA de type 1.
    Il faut peut-être utiliser array_count_values($array) mais cette fonction nous envoie un tableau "dépareillé" à savoir qu'on aura le nb de valeurs TYPE = 1, le nb de valeurs ENSEIGNE = ALAPA...

    Pourriez-vous me conseiller svp?

    Merci

  2. #2
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Il faut savoir ce que tu veux.
    Réorganiser ton tableau ou compter le nombre de mail pour une enseigne et un type donné ?

    Pour la deuxième option :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $nb = 0;
    foreach($tablo as $tab1) {
       foreach($tab1 as $tab2) {
          if ($tab2['ENSEIGNE'] == 'ALAPA' && $tab2['TYPE'] == 1) {
             $nb += $tab2['NB'];
          }
       }
    }
    Quant à la première, il nous manque des informations quand à la nature fonctionnelle du contenu de ton tableau, par exemple quel différence entre la première et la quatrième entrée ?

  3. #3
    Membre averti
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2004
    Messages : 34
    Par défaut
    En fait c'est la deuxième option qui m'intéresse, compter le nb de mails par enseigne et par type sachant que le type et l'enseigne ne sont pas connus à l'avance. Je ne peux donc pas faire des if explicites sur 'ALAPA' ou sur le type '1'.

    Je te remercie,

  4. #4
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    Pourquoi enseigne, type ou nb peuvent être vides ?

  5. #5
    Membre averti
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2004
    Messages : 34
    Par défaut
    cela veut dire que dans la base aucun mail n'a été envoyé, je pourrai dans ce cas supprimer ces enregistrements pour avoir un tableau propre.

  6. #6
    Expert confirmé Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Par défaut
    hmm, je dirais :
    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
     
    $mails_envoyes = array();
    foreach($tablo as $tab1) {
       foreach($tab1 as $tab2) {
          if ($tab2['ENSEIGNE'] != '' && $tab2['TYPE'] != '') {
             if (!isset($mails_envoyes[$tab2['ENSEIGNE']])) {
                $mails_envoyes[$tab2['ENSEIGNE']] = array();
             }
             if (!isset($mails_envoyes[$tab2['ENSEIGNE']][$tab2['TYPE']])) {
                $mails_envoyes[$tab2['ENSEIGNE']][$tab2['TYPE']] = $tab2['NB'];
             } else {
                $mails_envoyes[$tab2['ENSEIGNE']][$tab2['TYPE']] += $tab2['NB'];
             }
          }
       }
    } 
     
    var_dump('<pre>', $mails_envoyes, '</pre>');

  7. #7
    Membre averti
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration

    Informations forums :
    Inscription : Juin 2004
    Messages : 34
    Par défaut
    Je te remercie beaucoup, j'obtiens en effet par enseigne, le nb de mails par type, c'est parfait

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

Discussions similaires

  1. [Tableaux] Réorganiser un tableau apres un merge()
    Par Death83 dans le forum Langage
    Réponses: 3
    Dernier message: 07/01/2006, 01h39
  2. Réponses: 11
    Dernier message: 09/11/2005, 13h59
  3. [Tableaux] submit un tableau de donnee
    Par naourass dans le forum Langage
    Réponses: 6
    Dernier message: 09/11/2005, 10h05
  4. [Tableaux] tri de tableau
    Par rdams dans le forum Langage
    Réponses: 19
    Dernier message: 08/11/2005, 13h46
  5. Réponses: 3
    Dernier message: 26/09/2005, 22h24

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