Réordonner un tableau php [Résolu]

Messages postés
232
Date d'inscription
jeudi 30 août 2007
Dernière intervention
31 juillet 2009
- - Dernière réponse : cs_mike1310
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Dernière intervention
31 juillet 2009
- 3 févr. 2009 à 14:14
Bonjour à tous,

me voila avec un probleme assez frustrant. Je voudrais réordonnez un tableau mais je n'y parvient pas.

J'ai un tableau comme ceci : array(1 => "toto", 2 => "titi" , 3=> "tata") et

je voudrais le récupérer comme ceci : array(1=> "toto", 2=> "tata", 3 => "titi") ...

C'est tout con j'ai l'impression mais je n'y arrive pas ... J'ai regardé dans tous les sens avec les array_intersect (key, assoc et tous le tralala mais en vaint :S)

Please help me ...
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
1310
Date d'inscription
samedi 31 janvier 2009
Dernière intervention
5 juin 2013
3
Merci
Salut,

Pour commencer, faire un tableau associatif pour lui mettre de telles clés est totalement inutile et ne peux que nuire a la compréhension de ton code.
Ceci :
array(1 => "toto", 2 => "titi" , 3=> "tata");
devrait être remplacer par celà :
array('toto', 'titi' , 'tata');
La seule différence est que le second tableau est indexé a partir de 0 et non de 1, ce qui est plus logique.

Ensuite, pour trier un tableau de ce genre on va utiliser la fonction sort(). Dans ton cas, vu que le tri dépend du contenu de ta chaîne de caractère, tu devrais utiliser la fonction usort() qui va te permettre de passer en paramètre une fonction qui va effectuer la comparaison entre deux éléments afin de déterminer lequel doit être mis avant l'autre. A toi de coder cette fonction de comparaison en fonction de l'ordre dans lequel tu veux trier ;) Tu peux par exemple isoler le nombre entre parenthése des deux éléments et le comparer.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

Commenter la réponse de TychoBrahe
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Dernière intervention
31 juillet 2009
0
Merci
Pour etre plus précis il est de la sorte :
array(1 => "toto (2)", 2 => "titi (56)" , 3=> "tata (23)")  chiffre généré par une BD pour de la statistiques

je voudrais le récupérer comme ceci : array(1=> "toto (2)", 2=> "tata (23)", 3 => "titi (56)")

Voila voila
Commenter la réponse de cs_mike1310
Messages postés
232
Date d'inscription
jeudi 30 août 2007
Dernière intervention
31 juillet 2009
0
Merci
Merci pour ta réponse TychoBrahe ...

Si j'ai mis mon tableau comme ceci array(1 => "toto", 2 => "titi" , 3=> "tata");  c'était pour me faciliter la vie sur des intersections avec un tableau d'exemple genre j'avais un autre tableau avec les clé dans le bon ordre ...

Mais ta réponse me satisfait très bien ... je vais regarder dans cette optique de usort ... Je pense trouver mon bonheur ...
Merci en tout cas
Commenter la réponse de cs_mike1310

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.