Boucle for et nom de tableau

Résolu/Fermé
peek59 - 19 avril 2011 à 08:17
 peek59 - 19 avril 2011 à 12:06
Bonjour,
Je souhaiterai créer une boucle for avec à l'interieur la déclaration d'un tableau dont une partie du nom des tableaux inclus la variable de la boucle :


for ($num=0; $num <= 20; $num++)
{
$tab_inf_0 = array();
}

A chaque tour de boucle le tableau créé doit avoir un nom différent selon :

$tab_inf_0 = array();
$tab_inf_1 = array();
$tab_inf_2 = array();
$tab_inf_3 = array();
$tab_inf_4 = array();
$tab_inf_5 = array();
......

Avez vous une idée de la syntaxe de déclaration de tableau ?
J'ai essayé cela mais ça ne fonctionne pas
${"tab_inf_".$z.} = array();

Merci pour votre aide

5 réponses

hervé56 Messages postés 268 Date d'inscription lundi 15 novembre 2010 Statut Membre Dernière intervention 25 mars 2017 10
19 avril 2011 à 08:23
bin, met tout dans un tableau
$tab_inf = array();

for ($num=0; $num <= 20; $num++){
     $tab_inf[$num] = array(
                                    "machin" => $truc,
                                    "bidule" => $chouette );
     //etc
}
0
Utilisateur anonyme
19 avril 2011 à 08:27
salut,



essaie ceci : ${"tab_inf_".$z} = array();
0
Merci pour vos réponses, ${"tab_inf_".$z} = array(); semble approprié pour ce que je recherche.
Par contre je n'arrive pas, avec la syntaxe ci-dessous, à afficher le contenu du tableau

 foreach (${"tab_inf_".$z} as $key => $val) 
{
 echo "$key = $val <br>";
 }


Avec ce code, rien ne s'affiche alors que j'ai bien des valeurs dans mes tableaux.

Merci pour vos réponses
0
Utilisateur anonyme
19 avril 2011 à 12:03
regarde si le tableau tab_inf_$z a bien des valeurs dedans (avec $z : la derniere valeur qu'il recoit (dans ton premier exemple c'est 20 ) ).
0

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

Posez votre question
C'est bon ca marche, le problème venait de l'insertion de valeurs, j'avais mis :

${"tab_inf_".$z."[]"} = $id_fonction;


alors qu'il fallait mettre :

${"tab_inf_".$z}[] = $id_fonction;


Merci pour votre aide
0