cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009
-
3 févr. 2009 à 10:33
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 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)
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 3 févr. 2009 à 12:27
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.
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 3 févr. 2009 à 10:36
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)")
cs_mike1310
Messages postés232Date d'inscriptionjeudi 30 août 2007StatutMembreDernière intervention31 juillet 2009 3 févr. 2009 à 14:14
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