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 :

Récupérer l'ordre de trie d'un tableau


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Points : 80
    Points
    80
    Par défaut Récupérer l'ordre de trie d'un tableau
    Bonjour,

    J'ai fait le trie d'un tableau et je l'ai afficher dans un autre, maintenant je veux récupérer l'ordre de trie dans un autre tableau comment est ce que je fait?
    svp aidez moi.

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <table>
    <tr><td>td1</td>
    <td>td2</td>
    <td>td3</td>
    <td>td4</td>
    </tr>
    <td id="td1">33</td>
    <td id="td2">119</td>
    <td id="td3">45</td>
    <td id="td4">10</td>
    <?php $tnTrie= array();
    $tnTrie[0]=33;
    $tnTrie[1]=119;
    $tnTrie[2]=45;
    $tnTrie[3]=10;
    $tTrie= array();
     for($j=0;$j<4;$j++){
     $tTrie[]=$tnTrie[$j];
     }
    sort($tTrie);
    ?>
    <tr></tr>
    <tr>
    <?php
    for($i=0;$i<4;$i++){
    ?><td><?php echo $tTrie[$i];?></td>
    <?php } ?>
    </tr>
    </table>
    <?php $t_ordre= array();
    foreach ($tTrie as $key => $val) {
     foreach ($tnTrie as $keyn => $valn){
      if ($val == $valn)
      {
        $t_ordre[]=$keyn;}
     }
    }
    foreach($t_ordre as $k => $vv) {
      echo "Ordre: \n".$vv."\n";
        switch($vv){
           case(0): echo("HH"); break;
    	   case(1): echo("HMH"); break;
           case(2): echo("HPH"); break;
           case(3): echo("HT"); break;
     
    	   }
    }
    ?>
    </body>
    </html>

  2. #2
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    bonjour,
    Je ne comprends pas exactement ce que tu veux dire par 'ordre de trie'.
    Si c'est les clés dans le nouvel ordre, voici une solution : asort
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $fruits = array("lemon", "orange", "banana", "apple");
    asort($fruits);
    foreach ($fruits as $key => $val) {
        echo "$key = $val\n";
    }
    ?>
    Z.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Points : 80
    Points
    80
    Par défaut
    Je m'excuse de ne pas être claire, j'essaye de m'expliquer d'avantage:
    J'ai une table affichant dans la première ligne les produits, dans la deuxième les prix de chaque produits et je veux afficher dans la troisième une image de smile correspondant au prix le plus convenable et ainsi de suite, comme ceçi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
         prd1  prd2 prd3 prd4
    Prix  33    119  45   10
    smile :o,   :o(  :o|  :o)
     
    **************************
           0(1) 1(3) 2(2) 3(0)  indiceNonTrié(IndiceTrié) afin de mettre le smile correspondant dans la cellule qui lui convient

    Pour cela j'ai pensé à trier les prix puis pour celui ayant l'indice 0 dans la table trié, correspond à la valeur la moins cher donc un smile qui rit, ... Mais j'arrive pas
    , est ce que mon problème est plus claire maintenant

  4. #4
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    pourquoi ne classe tu pas les produits par ordre croissant de prix ?
    Tu pourras ajouter en dessous les smileys.
    Le client pourrait mieux s'y retrouver dans les prix
    Z.

  5. #5
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Points : 80
    Points
    80
    Par défaut
    Je ne peux pas modifier l'énoncé de l'exercice.

    c'est comme ça, que ça se présente et je doit trouver une solution, et je souhaite que vous m'aidiez
    Pour cette exemple ça marche:
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <table>
    <tr><td>td1</td>
    <td>td2</td>
    <td>td3</td>
    <td>td4</td>
    </tr>
    <td id="td1">333</td>
    <td id="td2">119</td>
    <td id="td3">45</td>
    <td id="td4">10</td>
    <?php 
    $tnTrie= array(333, 119, 45, 10); 
    $tTrie= array();
     for($j=0;$j<4;$j++){
     $tTrie[]=$tnTrie[$j];
     }
    sort($tTrie);
    ?>
    <tr></tr>
    <tr>
    <?php
    for($i=0;$i<4;$i++){
    ?><td><?php echo $tTrie[$i];?></td>
    <?php } ?>
    </tr>
    </table>
    <table><tr>
    <?php $t_ordre= array();
    foreach ($tTrie as $key => $val) {
     foreach ($tnTrie as $keyn => $valn){
      if ($val == $valn)
      {
        $t_ordre[]=$keyn;}
     }
    }
    foreach($t_ordre as $k => $vv) {
      //echo "Ordre: \n".$vv."\n";
        switch($vv){
           case(0): echo("HH"); break; //HH = homme heureux
    	   case(1): echo("HMH"); break;//HmH = homme moins heureux
           case(2): echo("HPH"); break;// hPh = homme pas heureux
           case(3): echo("HT"); break; // hT = homme trisite
     
    	   }
    }
    ?></tr>
    </table>
    </body>
    </html>
    Mais lorsque je veux, afficher le tout dans un tableau et mettre au lieux de ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    case(0): echo("HH"); break; //HH = homme heureux
    	   case(1): echo("HMH"); break;//HmH = homme moins heureux
           case(2): echo("HPH"); break;// hPh = homme pas heureux
           case(3): echo("HT"); break; // hT = homme trisite
    des td, afin d'y mettre mes images, ça ne marche pas du tout.

  6. #6
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $smileys = array(":)", ":|", ":(", ":((");
    $fruits = array("lemon" => 45, "orange" => 100, "banana" => 80, "apple" => 95);
     
    $array = array_values($fruits);
    $array = array_unique($array);
    sort($array);
     
    foreach ($fruits as $key => $val) {
        echo "$key = $val : " . $smileys[array_search($val, $array)] . "\n";
    }
    ?>
    En espérant que ca t'inspire
    Z.

  7. #7
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Points : 80
    Points
    80
    Par défaut
    Merci , ça m'a aidé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $smileys = array(":)", ":|", ":(", ":((");
    Reste a afficher de vrai images.

  8. #8
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $smileys = array("<img src='smiley_hh.gif' />", "<img src='smiley_hx.gif' />", "<img src='smiley_hy.gif' />", "<img src='smiley_hz.gif' />");
    ?
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  9. #9
    Membre éclairé
    Profil pro
    Assistant recherche bioinformatique
    Inscrit en
    Novembre 2007
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Assistant recherche bioinformatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 877
    Points : 835
    Points
    835
    Par défaut
    ou bien tes HH, HPH et tout !
    Un ptit peu d'imagination, diantre !
    Z.

  10. #10
    Membre régulier
    Inscrit en
    Avril 2006
    Messages
    254
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 254
    Points : 80
    Points
    80
    Par défaut
    Merci beaucoup Zwitter et Thes32.

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

Discussions similaires

  1. [Tableaux] trie d'un tableau multidimensionnel
    Par dede64 dans le forum Langage
    Réponses: 1
    Dernier message: 02/11/2006, 11h20
  2. Réponses: 6
    Dernier message: 17/10/2006, 12h21
  3. [Struts] ordre des éléments dans un tableau de propriétés
    Par zais_ethael dans le forum Struts 1
    Réponses: 2
    Dernier message: 09/05/2006, 15h54
  4. [javascript/dom] Récupérer le nombre de lignes d'un tableau
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/02/2006, 11h51
  5. Réponses: 13
    Dernier message: 27/06/2005, 14h36

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