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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Association valeur-tableau (difficile)


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut Association valeur-tableau (difficile)
    Salut,

    Si vous avez un peu de temps, j'ai un petit exercice de programmation pour vous.
    Je bloque sur une fonction, ce que je cherche c'est logique, pas besoin du code en php.

    Voici mon problème (si c'est le problème en lui même que vous ne comprenez pas, je peux apporter des précisions - c'est pas facile d'être claire) :

    J'ai un tableau de noms de "fruits"

    exemple :

    array(
    [0] => 'noix',
    [1] => 'orange',
    [2] => 'citron',
    [3] => 'noisette'
    )

    Et des tableaux représentants des groupes de fruits (au même nombre qu'il y a de fruits dans le premier tableau).
    Ces tableaux peuvent être très courts (ex: 1 seule valeur ) ou plus longs (jusque 6 valeurs)

    exemple :

    Tableau 1 :
    array(
    [0] => 'orange'
    )

    Tableau 2 :
    array(
    [0] => orange,
    [1] => citron,
    [2] => pamplemousse
    )

    Tableau 3:
    array(
    [0] => noix,
    [1] => noisette,
    [2] => amande
    )

    Tableau 4:
    array(
    [0] => 'noix'
    )

    Ce que je cherche à faire, c'est un fonction qui associe les valeurs du premier tableau à un des tableaux ci-dessous
    de manière à ce que pour chaque association valeur => tableau, on retrouve la valeur du premier tableau dans le tableau qui lui est associé.

    exemple :

    noix => Tableau4,
    orange => Tableau1,
    citron => Tableau2,
    noisette => Tableau3

    Remarque : dans chaque cas l'association de chaque valeurs du tableau avec au moins un tableau de la seconde partie sera possible, vous n'avez donc pas à vous inquiéter de ça, le seul problème c'est de savoir comment les associés.

    Merci.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Bonjour,

    Tes tableaux : Tableau 1, Tableau 2... sont suivis de quelle manière ?
    Collection, individuellement ?

  3. #3
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut
    Ils sont tous englobés dans un tableau, si c'est ça que tu demandes?

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Parfait,

    voici un code qui répond au besoin (à personnaliser au besoin)
    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
    <?php
     
    $fruits = array(
       0 => 'noix',
       1 => 'orange',
       2 => 'citron',
       3 => 'noisette'
    );
     
    $collections = array(
       0 => array('orange'),
       1 => array('orange', 'citron', 'pamplemousse'),
       2 => array('noix', 'noisette', 'amande'),
       3 => array('noix')
    );
     
    // on applatit le tableau des collections : array(fruit => 1ère position)
    $flat = array();
    foreach($collections as $key => $collection) {
       foreach($collection as $fruit) {
          if ( ! isset($flat[$fruit])) {
             $flat[$fruit] = $key;
          }
       }
    }
     
    $data = array();
     
    foreach($fruits as $fruit) {
       $data[$fruit] = $flat[$fruit];
    }
     
    print_r($data);
     
    ?>

  5. #5
    Membre habitué
    Inscrit en
    Mars 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 13
    Par défaut
    Merci, pour le coup de pouce mais ce n'est pas exactement ça qu'il me fallait car dans ce cas on ce retrouve avec deux fruits associés au même tableau.

    Array
    (
    [noix] => 2
    [orange] => 0
    [citron] => 1
    [noisette] => 2
    )

    Ce que je cherche à avoir c'est 4 associations "un fruit, un tableau".

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Pour remplacer les indices par les tableaux, c'est vraiment pas compliqué.
    Par contre je ne comprend pas trop la logique. Une fois un tableau référencé, il ne doit plus l'être nulle part ailleurs, c'est ça ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/11/2010, 13h43
  2. Problème valeur tableau
    Par sepnar dans le forum C
    Réponses: 5
    Dernier message: 15/02/2010, 11h20
  3. Réponses: 7
    Dernier message: 03/05/2008, 00h40
  4. Comment associer un tableau ?
    Par cre3000 dans le forum Langage
    Réponses: 2
    Dernier message: 02/03/2008, 04h02
  5. Réponses: 1
    Dernier message: 05/04/2007, 17h09

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