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] fréquence d'un élément dans un tableau


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut [Tableaux] fréquence d'un élément dans un tableau
    Bonjour,

    j'ai créé un tableau (array) sur le modèle suivant :
    $tab = array("10", "10", "30" , "20" , "30" , "10" , "10" , "30");

    Comment peut-on extraire la fréquence de chacun des éléments (10, 20 et 30) ?
    10 apparaît 4x
    20 apparaît 1x
    30 apparaît 3x

    Par avance, merci de votre aide

  2. #2
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    J'ai trouvé çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
    $array = array(1, "hello", 1, "world", "hello");
    print_r(array_count_values($array));
    ?>

  3. #3
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    La fonction php array_count_values génère un truc du genre :

    Array ( [10] => 4 [20] => 1 [30] => 3)

    Et maintenant que tout est bien rangé dans le tableau, comment on peut extraire tout ça en PHP 4 pour en faire du xml qui donnerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0" encoding="utf-8"?>
    <chart >
    <bar title="10" value="4" />
    <bar title="20" value="1" />
    <bar title="30" value="3" />
    </chart>
    PS : j'ai essayé la classe array2xml mais j'ai pas tout comprendu...

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $tab = array("10", "10", "30" , "20" , "30" , "10" , "10" , "30");
    $dom = domxml_new_doc('1.0');
    $root = $dom->add_root('chart');
    foreach (array_count_values($tab) as $v => $nb) {
        $elt = $dom->create_element('bar');
        $elt->set_attribute('title', $v);
        $elt->set_attribute('value', $nb);
        $root->append_child('bar');
    }
    $dom->dump_file('mon_fichier.xml', FALSE, TRUE); // Requiert les droits d'écriture
    Résultat :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?xml version="1.0"?>
    <chart>
      <bar title="10" value="4"/>
      <bar title="30" value="3"/>
      <bar title="20" value="1"/>
    </chart>

  5. #5
    Membre habitué Avatar de php_de_travers
    Inscrit en
    Juin 2004
    Messages
    460
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 460
    Points : 190
    Points
    190
    Par défaut
    J'appelle tout de suite le patron de developpez.net pour qu'il te donne une augmentation : c'est remarquable !

    Un grand merci !

    PS : J'ai passé la soirée à lire de la doc et j'avais juste trouvé que foreach permettait l'exploitation des valeurs du tableau associatif...

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 07/05/2009, 13h50
  2. [Tableaux] ajout d'éléments dans un tableau
    Par maysa dans le forum Langage
    Réponses: 7
    Dernier message: 06/11/2006, 10h09
  3. Réponses: 10
    Dernier message: 27/03/2006, 18h38
  4. [Tableaux] ajout d'élément dans un tableau
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2006, 20h24
  5. [HTML/CSS]désigner un élément dans un tableau de l'extérieur
    Par FrankOVD dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 28/06/2005, 21h55

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