Exploiter une variable inconnue dans un array incrémenté

Résolu
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011 - 4 déc. 2008 à 15:41
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011 - 9 déc. 2008 à 13:56
Hello tous le monde.
je reviens à la charge avec mes array incrémentés...

Comme la dernière fois je suis persuadé qu'il y a une solution simple mais que j'utilise une mauvaise syntaxe.

alors voilà, je créé un tableau contenant un texte, ce texte est lui meme un tableau contenant plusieurs users. et pour finir, chaque user sonts autant de tableau contenant des infos...
Je n'arrive pas à sortir la varriable user autrement qu'en array...
voici un illustration de mon blabla:

*text1:
      °user1
            -info a
            -info b
      °user2
            -info c
      °user3
            -info d
*text2:
      °user1
            -info x
            -info y
      °user4
            -info z
*text3
....   ......   ..............

voici mon code de création de l'array:

$array[$text][$user][] = $info;

lorseque je sort un :



echo "";
print-r ($array);
echo "

";



je voi bien ma structure comme je la désire.

mais quand je veux exploiter ces donnée, je n'arrive qu'à sortir text et info... user me renvoi array...
que dois-je ecrire pour pouvoir afficher mon user?

code d'exploitation de l'array créé:

foreach($array as $text => $val)
   {
   //initialisation de $listeinfo
   $listeinfo = "";
   //initialisation de $listeuser
   $listeuser = "";
   //parcour des differents user d'après leur texte correspondant
   foreach( $val as $user)
       {
         //création de la variable des affaires de l'user
         //$listeuser = $listeuser.'- '.$user.'
';
              
          //parcour des differentes infos par user contenu dans l'array
          foreach( $user as $info )
                    {
                    //création de la variable des affaires de l'user
                    $listeaffaire = $listeaffaire.'- '.$affaire.'
';
                    }
          } 
   echo "<hr>";
   echo $listeaffaire;
   echo "

".$listeuser;
   }

5 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
4 déc. 2008 à 20:29
Hello,

ton erreur est simple.
$aTab = array(
  'texte1' => array('toto' =>array('infos toto 1', 'infos toto 2'), 'titi' =>array('infos titi1', 'infos titi 2')),
  'texte2' => array('tata' => array('infos tata 1', 'infos tata 2'), 'tutu' => array('infos tutu 1', 'infos tutu 2')),
);

foreach($aTab as $sClefTexte=> $aUsers)
Là, tu as bien compris, curieusement :  $sClefTexte contient au 1er tour de boucle 'texte1', puis 'texte2'. Que contient $aUsers?
ben la valeur correspondant à la clef $sClefTexte, donc :
array('toto' => 'infos toto', 'titi' => 'infos titi')
puis
array('tata' => 'infos tata', 'tutu' => 'infos tutu')
Du coup, 2ème boucle:
foreach($aUsers as $sClefUser => $aInfosUser)
Là, $sClefUser contiendra au 1er tour du 1er tour (si j'ose dire) 'toto', au 2d tour du 1er tour 'titi', au 1er tour du 2d tour 'tata' et enfin au 2d tour du 2d tour 'tutu'.
Et $aInfosUser: iencore un tableau. Donc re boucle :
foeach($aInfosUser as $iClef => $sInfo)
$iClef est alors l'index de ton tableau d'infos pour chaque utilisateur (0, 1, 2 etc...)
$sInfo contient la variable texte contenant une fino de l'utilisateur.

Toi, tu utilises $aInfosUsercomme une variable scalaire (une chaîne en l'occurence). Or, c'est un tableau.
 
3
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011
4 déc. 2008 à 15:47
oups...
j'ai oublier de traduire toutes les variables...

foreach($array as $text => $val)
   {
   //initialisation de $listeinfo
   $listeinfo = "";
   //initialisation de $listeuser
   $listeuser = "";
   //parcour des differents user d'après leur texte correspondant
   foreach( $val as $user)
       {
         //création de la variable des affaires de l'user
         //$listeuser = $listeuser.'- '.$user.'
';
              
          //parcour des differentes infos par user contenu dans l'array
          foreach( $user as $info )
                    {
                    //création de la variable des affaires de l'user
                    $listeinfo = $listeinfo.'- '.$info.'
';
                    }
          } 
   echo "<hr>";
   echo $listeinfo;
   echo "

".$listeuser;
   }

voilà qui est plus correcte.

ainsi, le $listeinfo me sort bien un listing des infos, mais le $listeuser m'envoi un listing de valeurs non définies "array".

y'a il un moyen simple d'avoir ma liste d'user ou faut-il redéfinire la méthode d'exploitation du tableau avec les foreach?
0
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011
8 déc. 2008 à 10:23
Désolé de ne répondre que maintenant, et merci de ta réactivité et ton aide.
Je vois ce que tu veux dire, et je vais tenter ça dès que j'en aurai l'occasion...
Le problème c'est que je dois battailler sur plusieurs fronts et j'ai un autre truc sur les bras en ce moment...
Je validerai ou te ferais part de mes observations dès que je pourrai m'attaquer à nouveau à ce code.

merci, et à très bientôt...

enfin j'espère parceque mon bout de code commence aussi à urger...

Pfff... la gestion des prioritées ici c'est une horreure.
0
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011
8 déc. 2008 à 10:23
Désolé de ne répondre que maintenant, et merci de ta réactivité et ton aide.
Je vois ce que tu veux dire, et je vais tenter ça dès que j'en aurai l'occasion...
Le problème c'est que je dois battailler sur plusieurs fronts et j'ai un autre truc sur les bras en ce moment...
Je validerai ou te ferais part de mes observations dès que je pourrai m'attaquer à nouveau à ce code.

merci, et à très bientôt...

enfin j'espère parceque mon bout de code commence aussi à urger...

Pfff... la gestion des prioritées ici c'est une horreure.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Teddy_le_gnein Messages postés 36 Date d'inscription vendredi 28 avril 2006 Statut Membre Dernière intervention 31 janvier 2011
9 déc. 2008 à 13:56
ok, merci, ça roule ^_^
0
Rejoignez-nous