Réordonner un tableau php [Résolu]

cs_mike1310 232 Messages postés jeudi 30 août 2007Date d'inscription 31 juillet 2009 Dernière intervention - 3 févr. 2009 à 10:33 - Dernière réponse : cs_mike1310 232 Messages postés jeudi 30 août 2007Date d'inscription 31 juillet 2009 Dernière intervention
- 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
TychoBrahe 1310 Messages postés samedi 31 janvier 2009Date d'inscription 5 juin 2013 Dernière intervention - 3 févr. 2009 à 12:27
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.

Merci TychoBrahe 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes ce mois-ci

Commenter la réponse de TychoBrahe
cs_mike1310 232 Messages postés jeudi 30 août 2007Date d'inscription 31 juillet 2009 Dernière intervention - 3 févr. 2009 à 10:36
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
cs_mike1310 232 Messages postés jeudi 30 août 2007Date d'inscription 31 juillet 2009 Dernière intervention - 3 févr. 2009 à 14:14
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.