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 :

Trier un tableau par value en fonction des valeurs d'un autre


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut Trier un tableau par value en fonction des valeurs d'un autre
    Bonjour à tous,

    Soit le tableau $a = array('toto','tata','tutu','titi','bob','claude','maurice','banane','pomme'),
    et le tableau $b = array('claude','banane');.

    Comment faire pour obtenir un 3ème tableau qui serait
    $c = array('claude','banane','tutu','titi','bob','toto','maurice','tata','pomme');.

    Je sèche
    Merci de vos conseils.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Je ne comprends pas le passage des deux premiers tableaux vers le troisième ?
    Quel est le lien ?

    Tu concatènes et supprimes le doublons ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Si c'est cela je me lance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $a = array('toto','tata','tutu','titi','bob','claude','maurice','banane','pomme'...)
    $b = array('claude','banane');
    $result=array_unique(array_merge($a,$b));
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Bonjour et merci,

    En fait ta solution ne réordonne pas le tableau a en fonction des valeurs du b. L'ordre ne change pas

  5. #5
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Ce que tu cherches à faire n'est pas bien clair. Ça serait bien que tu l'expliques en bon français.
    Une hypothèse pour des tableaux à valeurs uniques:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $a = ['toto', 'tata', 'tutu', 'titi', 'bob', 'claude', 'maurice', 'banane', 'pomme'];
    $b = ['claude', 'banane'];
     
    $tmp = array_flip($a);
     
    foreach($b as $k => $v) {
        $index = $tmp[$v];
        [$a[$k], $a[$index]] = [$a[$index], $a[$k]];
    }
     
    print_r($a);
    Ici, les éléments de $b prennent dans $a les indexes qu'ils ont dans $b et expédient les éléments de $a situés à ces indexes à leur ancienne place dans $a (leurs anciens indexes dans $a).

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 329
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 329
    Billets dans le blog
    17
    Par défaut
    Perso je ne comprends pas tes règles de calcul.

    Donne un exemple concret, complet (pas de "..."), concis (4~5 éléments devraient suffire) et détaillé.

  7. #7
    Membre éprouvé Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Perso je ne comprends pas tes règles de calcul.

    Donne un exemple concret, complet (pas de "..."), concis (4~5 éléments devraient suffire) et détaillé.
    Voilà j'ai supprimé les... qui indiquaient que le tableau de départ peut contenir beaucoup d'éléments. Désolé.

    Pour plus d'explications : j'ai un tableau de produits qui est A. Un tableau de choix produits qui est B. Ce tableau peut contenir n éléments forcément issus de A.

    Puis j'ai un select multiple qui comprend toutes les options issues de A. En mode modif j'affiche le select et je veux que les choix (tableau B) issus de la BDD présélectionnent les options. Ca, pas de problème. Mais ce que je veux surtout, c'est que les options sélectionnées se trouvent en tête de liste. Il me faut donc ordonner A en fonction de B.

    Est ce que je suis plus clair ?

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

Discussions similaires

  1. Colonnes protégées ou modifiables en fonction des valeurs d'une autre colonne
    Par romjeripa dans le forum Développement Sharepoint
    Réponses: 3
    Dernier message: 09/02/2015, 15h57
  2. Réponses: 2
    Dernier message: 10/10/2013, 15h35
  3. Réponses: 2
    Dernier message: 17/03/2011, 21h45
  4. Réponses: 3
    Dernier message: 18/12/2009, 12h33
  5. Réponses: 2
    Dernier message: 13/12/2007, 15h02

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