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] tri de tableaux


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut [Tableaux] tri de tableaux
    Bjr ,

    j'ai deux tableaux $tab1 et $tab2

    $tab1
    8
    6
    9
    3

    $tab2
    paris
    lyon
    marseille
    valence

    je tri mon $tab1 avec sort($tab1) pour le ranger en ordre croissant...
    Ai-je juste jusque la ?

    je voudrai que mon $tab2 soit trier de la mem facon que le 1, c'est à dire :
    $tab1
    3
    6
    8
    9

    $tab2
    valence
    lyon
    paris
    marseille

    car 3 correspond a valence, 6 à lyon etc...

    Un script ou une fonction pour m'aider ? (ou une idee...)
    Merci

  2. #2
    Membre habitué
    Inscrit en
    Juin 2006
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 133
    Points : 150
    Points
    150
    Par défaut
    Bonjour,

    Il y a peut être plus rapide, mais c'est tout ce que j'ai à vous proposer.

    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
    for ($cpt=0;$cpt<count($tab1);$cpt++)
    {
          for ($cpt2=$cpt+1;$cpt2<=count($tab1);$cpt2++)
          {
                if ($tab1[$cpt]>$tab1[$cpt2])
                {
                      $VarSauv = $tab1[$cpt];
                      $tab1[$cpt] = $tab1[$cpt2];
                      $tab1[$cpt2] = $VarSauv;
                      $VarSauv =$tab2[$cpt];
                      $tab2[$cpt] = $tab2[$cpt2];
                      $tab2[$cpt2] = $VarSauv;
                }
          }
    }

  3. #3
    Membre expérimenté Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Points : 1 414
    Points
    1 414
    Par défaut
    je pense que j'ai la réponse à ton problème ou au moins un moyen d'y parvenir. J'ai testé ca à l'air de fonctionner.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $ville = array('valence','lyon','paris','marseille');
     
    print_r($ville);
    echo "<hr>";
     
    asort($ville);
    print_r($ville);
    ?>
    Le résultat est:
    Array ( [0] => valence [1] => lyon [2] => paris [3] => marseille )
    Array ( [1] => lyon [3] => marseille [2] => paris [0] => valence )

  4. #4
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 252
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 252
    Points : 8 542
    Points
    8 542
    Billets dans le blog
    17
    Par défaut
    Pourquoi deux tableaux ?
    Avec un seul tableau associatif tu pourrais utiliser asort( ) ou ksort( ) comme illustré précédemment.
    Si tu as absolument besoin d'avoir plusieurs tableaux alors regarde array_multisort( ) http://fr.php.net/array_multisort

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut Merci
    Merci à vous vous 2 vos réponses sont tres interessantes, je m'en vais les testées de ce pas...

    jv regarder cke tu me propose seb aussi.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 65
    Points : 50
    Points
    50
    Par défaut Résolu
    Merci à tous
    j 'ai tester la solution de seb en premier et elle fonctionne bien donc...
    voici un exemple :

    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
    <?php
     
    $km = array();
     
    $km[0]= 226;
    $km[1]= 115;
    $km[2]= 375;
    $km[3]= 87;
     
    $voiture = array();
     
    $voiture[0]= audi;
    $voiture[1]= opel;
    $voiture[2]= peugeot;
    $voiture[3]= renault;
     
    echo "<b>tableau km <br></b>";
    foreach($km as $cle=>$valeur){ echo "$valeur<br>"; }
    echo "<br>";
    echo "<b>tableau voiture <br></b>";
    foreach($voiture as $cle=>$valeur){ echo "$valeur<br>"; }
    echo "<br>";
     
    array_multisort($km, $voiture);
     
    var_dump($km); echo "<br>";
    var_dump($voiture);
     
    ?>
    Résultat :

    tableau km
    226
    115
    375
    87

    tableau voiture
    audi
    opel
    peugeot
    renault

    array(4) { [0]=> int(87) [1]=> int(115) [2]=> int(226) [3]=> int(375) }
    array(4) { [0]=> string(7) "renault" [1]=> string(4) "opel" [2]=> string(4) "audi" [3]=> string(7) "peugeot" }

    Merci

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

Discussions similaires

  1. [Tableaux] Tri de tableaux par date
    Par maxromeo dans le forum Langage
    Réponses: 5
    Dernier message: 08/07/2009, 23h59
  2. [Tableaux] Tri de tableaux
    Par oneTime dans le forum Langage
    Réponses: 7
    Dernier message: 17/04/2008, 15h34
  3. [Tableaux] Tri de tableaux associatifs à 2 dimensions
    Par max44410 dans le forum Langage
    Réponses: 4
    Dernier message: 18/05/2007, 03h54
  4. [Tableaux] tri sur tableaux
    Par pounie dans le forum Langage
    Réponses: 5
    Dernier message: 03/03/2006, 21h19
  5. Tri de tableaux 2D
    Par LeRoiDesLutins dans le forum Langage
    Réponses: 6
    Dernier message: 27/09/2005, 21h45

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