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] Compter et trier dans un tableau de tableaux


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut [Tableaux] Compter et trier dans un tableau de tableaux
    Bonjour,

    j'ai un tableau qui me renvoie des tableaux de données :

    nom,
    prenom,
    categorie,
    array ( [0]array("nom"=>"truc","prenom"=>"bidule,"categorie"=>machin),
    [1]array("nom"=>"truc1","prenom"=>"bidule1,"categorie"=>machin),

    j'aurai souhaité compter le nombre de personnes par catégorie tout en affichant la catégorie suivie du nombre....

    j'imagine une boucle for mais je suis un peu bloquée....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for ($i=0;$i<count($tableau)$i++)
    {
      if ($tableau[$i][categorie]==$tableau[$i+1][categorie])
      $nb++;
    else $nb=1;
    }
    Mais je ne vois pas comment afficher le nom de la categorie correspondante !
    Merci de votre aide, je suis bloquée...

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Ce n'est peut-être pas le plus simple, mais ça fonctionne :
    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
    <?php
      $tableau = array (array('nom' => 'truc', 'prenom' => 'bidule', 'categorie' => 'machin'),
                        array('nom' => 'truc1', 'prenom' => 'bidule1', 'categorie' => 'machin'));
     
      //-- création d'un tableau dont la clé est le nom de la catégorie --------------------
      //-- et la valeur est un chiffre incrémenté ------------------------------------------
      $cat = array();
      foreach ($tableau as $valeur)
      {
        if (array_key_exists($valeur['categorie'], $cat))
          $cat[$valeur['categorie']] += 1;
        else
          $cat[$valeur['categorie']] = 1;
      }
     
      //-- lecture du tableau --------------------------------------------------------------
      foreach ($cat as $cle => $valeur)
      {
        echo "catégorie <b>$cle</b> => $valeur personnes<br>";
      }
    ?>

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    490
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 490
    Points : 201
    Points
    201
    Par défaut
    Effectivement...

    Merci je vais essayer..

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 45
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    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
    <?php
     
    $tableau = array (array('nom' => 'truc', 'prenom' => 'bidule', 'categorie' => 'aaa'),
                      array('nom' => 'truc', 'prenom' => 'bidule', 'categorie' => 'aaa'),
                      array('nom' => 'truc', 'prenom' => 'bidule', 'categorie' => 'bbb'),
                      array('nom' => 'truc', 'prenom' => 'bidule', 'categorie' => 'bbb'),
                      array('nom' => 'truc', 'prenom' => 'bidule', 'categorie' => 'bbb'));
     
     
    foreach ($tableau as $key=>$value) {
      if (isset($cat[$value['categorie']])) {
          $cat[$value['categorie']]++;
      } else {
        $cat[$value['categorie']] = 1;
      };
    };
     
    foreach ($cat as $key=>$value) {
      echo $key . ': ' . $value . '<br />' . "\n";
    };
    ?>
    J'ai eu la flemme de commenter, si tu as une question hésite pas

    ++

Discussions similaires

  1. Réponses: 10
    Dernier message: 27/03/2006, 18h38
  2. [Tableaux] sondage impossible à mettre dans un tableau...
    Par BlackTiger dans le forum Langage
    Réponses: 11
    Dernier message: 17/11/2005, 13h45
  3. [Tableaux] Extraction de valeur dans un tableau
    Par pirouette_07 dans le forum Langage
    Réponses: 6
    Dernier message: 21/10/2005, 17h54
  4. [langage] Compter des éléments dans un tableau
    Par helene22500 dans le forum Langage
    Réponses: 29
    Dernier message: 23/05/2005, 11h38
  5. [Tableaux]Ajouter des valeurs dans un tableau
    Par Antoine1183 dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 03/04/2005, 13h41

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