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...
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.
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.
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 | | | |
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 | | | |