Push_array associatif [Résolu]

Signaler
Messages postés
36
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
31 janvier 2011
-
Messages postés
36
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
31 janvier 2011
-
bonjour,
j'ai une question qui me semble simple, mais j'ai énormément de mal à trouver la réponse.

alors voilà, j'ai une boucle while qui récupère des données dans une base, et je souhaiterai récupérer ces valeurs dans un array pour les exploiter ensuite sous forme de liste.

Je viens de découvrir la fonction array_push() , mais je n'arrive pas à l'exploiter comme je voudrai.

à chaque tour de boucle, je récupère un user et une donnée associée, mais il peux y avoir plusieur fois le même user pour une donée différente aux autres tours de boucle...

en gros, je ne trouve pas quelle fonction je dois mettre entre dans ma boucle pour avoir un tableau qui passerai de :

________________________________________________________
|  user 1  |  user 2  |  user 3  |  user 2  |  user 4 |  user 3  |  user 2  |  user n... |
|  info A  |  info B  |  info C  |  info D  |  info E  |  info F  |  info G  |  info n...  |

à :

____________________________________

|  user 1  |  user 2  |  user 3  |  user 4 | user n...  |

|  info A  |  info B  |  info C  |  info E  |  info n...  |
|             |  info D  |  info F  |             |               |
|             |  info G  |             |             |               |

j'ai essayé un
array_push($array[$user], $info);
mais ça n'a pas l'aire de fonctionner pour les tableaux associatifs...

Merci de votre aide...

5 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

ben...
$array[$user][]= $info;
J'ai du mal à comprendre ton problème ?
Ou bien :
array_push($array[$user], $info); (ou l'inverse, saletés de fonctions php qui ne fonctionnent jamais de manière cohérente...).

Le problème c'est que si $array[$user] = 'toto' à un moment, php va t'envoyer bouler parce que c'est une variable scalaire. A toi de le transformer en tableau avant d'y empiler des infos.
Messages postés
36
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
31 janvier 2011

Je te remercie,
$array[$user][]= $info; semble être ce que je recherchai...
Je ne savais pas s'il fallait tenter un array en plusieurs dimensions, mais je voyais mal comment...
Apparemment les array incrémentés étaient ce que je recherchais ma solution.

Encore merci malalam pour la syntaxe correcte.
Messages postés
36
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
31 janvier 2011

désolé pour mes beaux tableaux foireux...
je vais essayer de corriger ça...

_________________________________________________________________________________________
|  user 1  |  user 2  |  user 3  |  user 2  |  user 4 |  user 3  |  user 2  |  user n...|
|  info A  |  info B  |  info C  |  info D  |  info E |  info F  |  info G  |  info n...|

à :

________________________________________________________
|  user 1  |  user 2  |  user 3  |  user 4 | user n... |
|  info A  |  info B  |  info C  |  info E | info n... |
|          |  info D  |  info F  |         |           |
|          |  info G  |          |         |           |
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
salut


$array[$user]= $info;
Messages postés
36
Date d'inscription
vendredi 28 avril 2006
Statut
Membre
Dernière intervention
31 janvier 2011

Je te remercie de ta réponse, mais $array[$user]= $info; écrasera les données les plus anciennes et les remplacera par les plus récentes à chaques tours de boucle.
je chereche à avoir plusieurs infos s'il y'en à plusieurs (d'où ma tentative maladroite d'array_push).
si j'utilise $array[$user]= $info; j'obtiendrai un tableau rempli de cette sorte au final :

________________________________________________________
|  user 1  |  user 2  |  user 3  |  user 4 | user n... |
|  info A  |  info G  |  info F  |  info E | info n... |

alors que j'aimerai garder toutes les infos dispo par user comme ceci :

________________________________________________________
|  user 1  |  user 2  |  user 3  |  user 4 | user n... |
|  info A  |  info B  |  info C  |  info E | info n... |
|          |  info D  |  info F  |         |           |
|          |  info G  |          |         |           |