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] Dédoublonner un tableau multi sur une clé/valeur précise


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 [Tableaux] Dédoublonner un tableau multi sur une clé/valeur précise
    Bonjour à tous,

    Soit un tableau construit de cette façon :

    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
     
    $clients = array();
    $i=0;
    while($row = mysql_fetch_array($sql)){
    $clients["clients"][$i] =  array("prenom" =>$row['prenom'],"nom" =>$row['nom'], "email" => $row['email']);
    $i++;
    }
     
    $admins = array();
    $i=0;
    while($row1 = mysql_fetch_array($sql1)){
    $admins["admins"][$i] =  array("prenom" =>$row1['prenom'],"nom" =>$row1['nom'], "email" => $row1['email']);
    $i++;
    }
     
    $dest = array_merge($clients, $admins);
    Quand j'affiche ce tableau $dest, j'obtiens :

    clients => Pierre, DuponD, duponD@free.fr
    clients => Bob, Durand, durand@free.fr
    admins => Joe, Jackson, joe@free.fr
    admins => Pierre, DuponT, duponD@free.fr

    Dans ce cas précis, je veux éliminer les doublons de la clé "email" sans regarder les autres clés. Est-ce possible ? J'ai essayé array_unique() sans succès...peut-être que, d'emblée, mes tableaux sont mal construits...
    Bref, je veux bien un coup de main...
    D'avance, merci.

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Salut,

    1 - Les tableaux "client" et "admin" étant deux variables distinctes, pour quoi leur ajouter une dimension "client" et "admin" ?

    2 - Dans chacun de ces tableaux, ne suffit-il pas d'utiliser le mail comme clé ?

    Allez, je tente un truc (sans tester) :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $clients = array();
    while($row = mysql_fetch_array($sql))
        $clients[$row['email']] =  array("prenom" =>$row['prenom'],"nom" =>$row['nom']);
     
    $admins = array();
    while($row = mysql_fetch_array($sql1))
        $admins[$row['email']] =  array("prenom" =>$row1['prenom'],"nom" =>$row1['nom']);
     
    $dest = array_merge($clients, $admins);

    RQ : les tableaux multi dimensionnels sont agréablement remplacés par des collections d'objets en POO et évitent pas mal de noeuds aux méninges.

  3. #3
    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,

    Oui, j'ai en fait besoin, pour affichage ultérieur, du "nom" du tableau (clients, admin) d'où cette dimension supplémentaire. Mais ça ne résoud pas mon prob : comment dédoublonner seulement les emails du tableau final ?
    J'ai bien la soluce de tout envoyer dans une table temp avec un champ email "unique", mais c'est pas très clean...
    Et puis si je peux apprendre à le faire via les manips de tableau...

  4. #4
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Et ça alors :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $clients = array();
    while($row = mysql_fetch_array($sql))
        $clients[$row['email']] =  array("prenom" =>$row['prenom'],"nom" =>$row['nom'], 'role'=>'client');
     
    $admins = array();
    while($row = mysql_fetch_array($sql1))
        $admins[$row['email']] =  array("prenom" =>$row1['prenom'],"nom" =>$row1['nom'], 'role'=>'admin');
     
    $dest = array_merge($clients, $admins);

  5. #5
    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
    Oui, nickel, mettre l'email en clé, bonne idée.
    Merci et bonne journée.

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 30/06/2008, 15h25
  2. [Tableaux] Trier un tableau multi-dimensionnel associatif
    Par Oprichnik dans le forum Langage
    Réponses: 9
    Dernier message: 27/07/2007, 23h16
  3. [Tableaux] Faire un tableau à partir d'une string
    Par hugo69 dans le forum Langage
    Réponses: 2
    Dernier message: 05/01/2007, 10h49
  4. Réponses: 13
    Dernier message: 13/10/2006, 00h15
  5. Réponses: 5
    Dernier message: 04/10/2006, 18h49

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