Push_array associatif [Résolu]

Teddy_le_gnein 36 Messages postés vendredi 28 avril 2006Date d'inscription 31 janvier 2011 Dernière intervention - 27 nov. 2008 à 11:38 - Dernière réponse : Teddy_le_gnein 36 Messages postés vendredi 28 avril 2006Date d'inscription 31 janvier 2011 Dernière intervention
- 28 nov. 2008 à 09:43
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...
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 27 nov. 2008 à 19:57
3
Merci
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.

Merci malalam 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de malalam
Meilleure réponse
Teddy_le_gnein 36 Messages postés vendredi 28 avril 2006Date d'inscription 31 janvier 2011 Dernière intervention - 28 nov. 2008 à 09:43
3
Merci
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.

Merci Teddy_le_gnein 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 93 internautes ce mois-ci

Commenter la réponse de Teddy_le_gnein
Teddy_le_gnein 36 Messages postés vendredi 28 avril 2006Date d'inscription 31 janvier 2011 Dernière intervention - 27 nov. 2008 à 11:50
0
Merci
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  |          |         |           |
Commenter la réponse de Teddy_le_gnein
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 27 nov. 2008 à 12:30
0
Merci
salut


$array[$user]= $info;
Commenter la réponse de coucou747
Teddy_le_gnein 36 Messages postés vendredi 28 avril 2006Date d'inscription 31 janvier 2011 Dernière intervention - 27 nov. 2008 à 17:30
0
Merci
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  |          |         |           |
Commenter la réponse de Teddy_le_gnein

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.