[Résolu] Supprimer les doublons dans un array ?
4 messages
• Page 1 sur 1
- amazigh25
- WRInaute passionné

- Messages: 1006
- Inscription: 4 Juin 2005
[Résolu] Supprimer les doublons dans un array ?
Bonsoir !
J'ai essayé toute l'après-midi de trouver une solution à ce problème, mais walou !
Je vous explique !
Avec une boucle je génère des tableaux (Depuis la BDD ...). Un exemple :
En utilisant la fonction array_merge, j'ai pu obtenir le résultat suivant (parce que j'ai besoin d'avoir un seul array) :
Le problème c'est qu'il y'a des doublons dans cet array, qu'il faudra supprimer ! Mais quand j'utilise la fonction array_unique elle ne me laisse qu'une seule entré vu que mon array comporte d'autres array qui semble identiques.
Moi je cherche a supprimé les array identiques dans cet array !
Mais comment faire ?
Merci de votre aide !
Adam
J'ai essayé toute l'après-midi de trouver une solution à ce problème, mais walou !
Je vous explique !
Avec une boucle je génère des tableaux (Depuis la BDD ...). Un exemple :
- Code: Tout sélectionner
Array
(
[0] => Array
(
[ID] => 2
[branch_name] => Science Math
[branch_description] => Science Math
[branch_levels] => 2 3
)
[1] => Array
(
[ID] => 3
[branch_name] => Science Exp
[branch_description] => Science Exp
[branch_levels] => 2 3 5
)
[2] => Array
(
[ID] => 4
[branch_name] => Economie
[branch_description] => Economie
[branch_levels] => 2
[branch_01] =>
[branch_02] =>
)
)
Array
(
[0] => Array
(
[ID] => 2
[branch_name] => Science Math
[branch_description] => Science Math
[branch_levels] => 2 3
)
[1] => Array
(
[ID] => 3
[branch_name] => Science Exp
[branch_description] => Science Exp
)
)
En utilisant la fonction array_merge, j'ai pu obtenir le résultat suivant (parce que j'ai besoin d'avoir un seul array) :
- Code: Tout sélectionner
Array
(
[0] => Array
(
[ID] => 2
[branch_name] => Science Math
[branch_description] => Science Math
[branch_levels] => 2 3
)
[1] => Array
(
[ID] => 3
[branch_name] => Science Exp
[branch_description] => Science Exp
[branch_levels] => 2 3 5
)
[2] => Array
(
[ID] => 4
[branch_name] => Economie
[branch_description] => Economie
[branch_levels] => 2
)
[3] => Array
(
[ID] => 2
[branch_name] => Science Math
[branch_description] => Science Math
[branch_levels] => 2 3
)
[4] => Array
(
[ID] => 3
[branch_name] => Science Exp
[branch_description] => Science Exp
[branch_levels] => 2 3 5
)
)
Le problème c'est qu'il y'a des doublons dans cet array, qu'il faudra supprimer ! Mais quand j'utilise la fonction array_unique elle ne me laisse qu'une seule entré vu que mon array comporte d'autres array qui semble identiques.
Moi je cherche a supprimé les array identiques dans cet array !
Mais comment faire ?
Merci de votre aide !
Adam
Dernière édition par amazigh25 le Sam Juil 12, 2008 0:02, édité 2 fois.
- kalex
- WRInaute discret

- Messages: 241
- Inscription: 14 Sep 2004
Oui, c'est généralement le genre de souci que l'on évite d'avoir.
Mais si vraiment tu ne peux pas faire autrement, à ta place, je pense que je ferais une boucle qui copierait le contenu de ce tableau dans un nouveau tableau en me servant des clés pour savoir si c'est un doublon.
Du genre (je gribouille rapide, il faut adapter) :
Mais si vraiment tu ne peux pas faire autrement, à ta place, je pense que je ferais une boucle qui copierait le contenu de ce tableau dans un nouveau tableau en me servant des clés pour savoir si c'est un doublon.
Du genre (je gribouille rapide, il faut adapter) :
- Code: Tout sélectionner
$new_array = array();
foreach($array as $elem){
$key = md5($elem['ID'].$elem['branch_name'].$elem['branch_description']);
if(!isset($new_array[$key] ))
$new_array[$key] = $elem;
}
- amazigh25
- WRInaute passionné

- Messages: 1006
- Inscription: 4 Juin 2005
Salut !
Merci pour votre réponse.
La proposition de crocxx, m'a poussée à revoir la manière dont je récupère les données.
Maintenant je ne t'utilise la boucle que pour générer le texte de la requête que j'exécute par la suite ! J'ai même pas eu besoin de DISTINCT, ça s'est fait tout seul !!
Merci
Youpi !
ADam
Merci pour votre réponse.
La proposition de crocxx, m'a poussée à revoir la manière dont je récupère les données.
Maintenant je ne t'utilise la boucle que pour générer le texte de la requête que j'exécute par la suite ! J'ai même pas eu besoin de DISTINCT, ça s'est fait tout seul !!
Merci
Youpi !
ADam
4 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- [Résolu]Supprimer les doublons d'une liste
- supprimer un élément d'un array
- Supprimer les doublons en php
- requette supprimer les doublons mysql
- [résolu]PHP et array
- [resolu]stocker un array dans mysql
- [JS][résolu]array is not defined pourtant je l'ai défini
- [résolu] supprimer le rewritelog
- [Résolu] Dreamweaver > Supprimer tous les liens sur une p
- Aide pour supprimer un noeud XML, PHP 5, DOM [RESOLU]
- Google propose en option un lien pour supprimer un site des résultats - 23-09-2005
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- Guide complet d'optimisation du référencement d'un blog - 20-09-2006
- Optimiser le référencement d'un blog Dotclear : balises TITLE et META - 11-05-2007
- Configurer des nouveaux moteurs dans Google Analytics - 12-06-2007
- Google attaqué en justice - 22-10-2002
- Outil officiel de suppression de pages de l'index Google - 18-04-2007
- Référencement : le problème des sessions des pages PHP - 04-08-2008
Consultez la description détaillée des produits ou services de Google suivants : Google Images, Google Apps for your Domain
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
