Page 1 sur 1

fabriquer un array à partir d'une boucle while

Posté : 19 sept. 2009, 22:38
par ciocciu
bonjour
de ma boucle while (qui n'est pas issu d'une requete sql) je tire à chaque passage un prénom ($prenom) et un nombre ($i)
je galère pour faire array qui donnerait
array( [christophe]=>1 [laurence]=>5 [simone]=>3 )
j'ai bien essayé d'insérer dans la boucle $tablo=array($prenom=>$i);

mais bien évidemment ça ne s'empile pas dans le tablo et ça m'affiche array( [simone]=>3 )

voilà
j'ai essayé aussi array_push mais ça va pas non plus

si une ame généreuse a une idée :roll:
merci d'avance

Re: fabriquer un array à partir d'une boucle while

Posté : 19 sept. 2009, 22:46
par Dr@ke
Car ta boucle ne stocke pas les variables précédemment définies, et donc à chaque passage les variables sont remplacées ou redéfinies...
Donc suivant ton exemple, la seule solution serait de stocker les variables quelque-part, ou de les définir toutes d'un coup...

Re: fabriquer un array à partir d'une boucle while

Posté : 19 sept. 2009, 22:59
par Ryle
Le problème est surtout qu'à chaque itération de ta boucle while, tu écrases le contenu de ta variable $tablo avec un nouveau tableau ne contenant qu'un seul élément, au lieu de compléter un tableau existant :
$tablo=array(); // on déclare le tableau
while (....) {
   $tablo[$prenom] = $i; // on renseigne le tableau en indiquant que l'index $prenom a pour valeur $i
}

Re: fabriquer un array à partir d'une boucle while

Posté : 20 sept. 2009, 09:00
par FuZZyLine
Salut,
bonjour
de ma boucle while (qui n'est pas issu d'une requete sql) je tire à chaque passage un prénom
($prenom) et un nombre ($i) je galère pour faire array qui donnerait
array( [christophe]=>1 [laurence]=>5 [simone]=>3 )
j'ai bien essayé d'insérer dans la boucle $tablo=array($prenom=>$i);
mais bien évidemment ça ne s'empile pas dans le tablo et ça m'affiche array( [simone]=>3 )
voilà
j'ai essayé aussi array_push mais ça va pas non plus
si une ame généreuse a une idée :roll:
merci d'avance
Comme les réponses précédentes: Ton tableau est écrasé.

Pour un tel type de contrainte, j'utilise bêtement la référence du tableau.
le path jusqu'à la clef concernée (éxistante ou pas) et le la valeur à y mettre

Ce qui s'écrit ainsi: fnct($array, "key_1/key_2", "Valeur").
Ou plus simplement: Référence_Tableau -> Key = Value

Voila, si ca a fait germé, en toi, la façon de procéder... ;)

@+ bon code ;)

EDIT: Oups, j'ai lu le message de Ryle en biais. Il est carrément plus simple pour la contrainte (faible)
qui est la tienne, préfère le.

Re: fabriquer un array à partir d'une boucle while

Posté : 20 sept. 2009, 10:35
par ciocciu
merci à vous tous pour vos réponses
la solution de ryle semble la plus simple ....ô combien simple d'ailleurs... :D
merci bcp
je reviendrais surement vers vous car ça va se compliquer un peu mon affaire mais bon ...je vais d'abord y réfléchir
bye