fabriquer un array à partir d'une boucle while

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : fabriquer un array à partir d'une boucle while

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

par ciocciu » 20 sept. 2009, 10:35

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

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

par FuZZyLine » 20 sept. 2009, 09:00

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

par Ryle » 19 sept. 2009, 22:59

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

par Dr@ke » 19 sept. 2009, 22:46

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

fabriquer un array à partir d'une boucle while

par ciocciu » 19 sept. 2009, 22:38

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