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 :

Tri d'un tableau multidimensionnel


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 18
    Par défaut Tri d'un tableau multidimensionnel
    Bonjour, dans le cadre d'un projet je rencontre un problème lorsque je veux trier mon tableau, pourriez vous m'aider ?

    voici mon tableau

    $tab [0]['valeur']=10
    $tab [1]['titre']=titre1
    $tab [1]['valeur']=20
    $tab [2]['titre']=titre2
    $tab [2]['valeur']=5
    $tab [2]['titre']=titre3


    lors de l'utilisation des fonctions de tri cela tri le tableau que sur une seule "colonne", or je voudrais que mon tableau soit ordonné en fonction de la valeur (decroissante) mais que le champ titre reste sur le même index :
    a savoir :

    $tab [0]['valeur']=20
    $tab [1]['titre']=titre2
    $tab [1]['valeur']=10
    $tab [2]['titre']=titre1
    $tab [2]['valeur']=5
    $tab [2]['titre']=titre3

    J'ai déjà fait un tour sur les docs PHp et les fonctions de tri mais je ne m'en sors pas

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    $tab [0]['valeur']=10
    $tab [1]['titre']=titre1
    $tab [1]['valeur']=20
    $tab [2]['titre']=titre2
    $tab [2]['valeur']=5
    $tab [2]['titre']=titre3
    Tu as peut être fais une erreur involontairement, mais il est (théoriquement) impossible d'obtenir un tel tableau, ou alors il n'est pas construit de cette manière là.
    Du moins, pour ces 2 éléments (4è et6ème) :
    $tab [2]['titre']=titre2
    $tab [2]['titre']=titre3
    Ils ont tous les 2 les mêmes clés : 2-titre, c'est pas possible.


    Mise à part ça, il ne me semble pas qu'il existe une fonction toute faire pour faire un tel trie, car les valeurs de chaque éléments sont trop différents (un nombre, une chaine, tour à tour, etc ...)
    Ca aurait été que des nombres ou que des chaines comme valeurs, oui, mais là ???

    Il faudrait faire une boucle, et récupérer chaque valeur dont la clé vaut "valeur" (donc que les nombres) dans un tableau à part.
    Ensuite faire un tri tout en conservant les clés, genre asort() ou arsort

  3. #3
    Membre Expert Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Par défaut
    Bonjour

    Tu peux faire une boucle comme ca, ou simplement utilisé la fonction
    usort, qui te permet de trier un tableau en utilisant une fonction.

    Dans ton cas, la fonction renverrait une simple comparaison sur la valeur dans ['valeur'].

Discussions similaires

  1. Tri sur un tableau multidimensionnel
    Par lokomass dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/03/2015, 17h18
  2. Réponses: 16
    Dernier message: 09/12/2014, 18h36
  3. Tri d'un tableau multidimensionnel
    Par ant0inep dans le forum Langages serveur
    Réponses: 2
    Dernier message: 22/08/2010, 15h09
  4. Réponses: 2
    Dernier message: 15/05/2007, 17h56
  5. [Tableaux] tri sur un tableau multidimensionnel
    Par maysa dans le forum Langage
    Réponses: 3
    Dernier message: 11/04/2007, 09h53

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