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 :

Supprimer doublons d'une liste d'objets [PHP 5.2]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut Supprimer doublons d'une liste d'objets
    Bonjour,

    j'ai une classe personne comme suivit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class Personne {
     
    	// Déclarations des données membres
    	protected  $nom;
    	protected  $prenom;
    	protected  $sexe;
    	protected  $categorie_age;
    }
    et j'ai aussi un tableau de Personnes. Je voudrai trouver un moyen de dédoublonner cette liste mais seulement en fonction du nom et du prénom...

    Avez-vous une idée sur la façon la plus optimiser d'y parvenir?

    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
    Ca dépend... Veux-tu savoir qu'il y a doublon ou veux-tu que ce soit silencieux ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    L'un implique l'autre non?

    Sinon , ben en fait j'aimerai creer une fonction qui me prend en parametre d'entré mon tableau de personnes à dédoublonner et qui me le retourne filtré...

    Donc silencieux a priori ce serai bien je pense.

  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
    Si c'est du silencieux sans voir les erreurs, voici une technique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $uniques = array();
     
    foreach($personnes as $personne) {
        $key = $personne->nom . $personne->prenom;
        $uniques[$key] = $personne;
    }
    Ainsi une même personne écrasera l'ancienne et tu n'auras pas de doublon sur la clé choisie.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 422
    Par défaut
    SNAFU, EXCELENT !!

    Merci for all

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

Discussions similaires

  1. [AC-2010] Supprimer doublons d'une liste déroulante.
    Par Oppenheimer dans le forum IHM
    Réponses: 3
    Dernier message: 08/03/2016, 13h09
  2. Supprimer doublons dans une liste
    Par yrmab dans le forum Scheme
    Réponses: 7
    Dernier message: 09/05/2013, 18h14
  3. [MySQL] Supprimer doublon dans une liste
    Par Gad29 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/06/2007, 15h13
  4. Réponses: 10
    Dernier message: 19/09/2006, 04h15
  5. Réponses: 13
    Dernier message: 01/08/2006, 17h59

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