IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Noms de variables dynamiques


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut Noms de variables dynamiques
    Bonjour.
    J'ai un formulaire HTML qui génère des variables correspondant aux valeurs de 2 matrices 3par3, du style 'mat123' pour la valeur contenue dans la première matrice, à la première matrice, 2ème ligne, 3ème colonne.

    J'ai fait cette boucle pour récupérer les valeur les les passer dans des variables php du style $mat123:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <html>
    <head><title>matrix result</title></head>
    <body>
    <?php
    for($k=1;$k<3;$k++){
    	for($j=1;$j<4;$j++){
    		for($i=1;$i<4;$i++){
    			$a='$mat'. $k . $j . $i;
    			$b='mat'. $k . $j . $i;
    			$c="'";
    			$$a=$_POST[$c.$$b.$c];
    			echo $b;
    			echo $a;
     
     
     
    }
    }
    }
    echo "maintenant ma variable de la ligne 1";
    echo $mat111;
    echo $mat222;
    ?>
    ....et ça marche pas. Je n'ai rien d'affché pour mes 2 derniers échos.
    Je suis débutant en php, donc je sais pas trop si la méthode est bonne pour déclarer ces variables. Les 2 premiers échos me renvoient bien des noms corrects pour mes variables.
    Quelqu'un a une idée?

    Merci d'avance!

  2. #2
    Membre éclairé Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Par défaut
    Salut,

    Je te propose une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
    for($k=1;$k<3;$k++)
    {
    	for($j=1;$j<4;$j++)
    	{
    		for($i=1;$i<4;$i++)
    		{
    			${'mat'.$k . $j . $i} = "ton contenu";		
    		}
    	}
    }
    echo $mat111;
    ?>
    Est-ce que cela peut t'aider ?

    Cordialement

  3. #3
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    Merci pour ta réponse, ça m'aide pour les noms de variables
    Mais...oups... je vais avoir a gérer un tableau par la suite donc j'ai pensé a rentrer directement les valeurs de ce que je reçois de mon formulaire dans un tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <html>
    <head><title>matrix result</title></head>
    <body>
    <?php
    for($k=1;$k<3;$k++){
    	for($j=1;$j<4;$j++){
    		for($i=1;$i<4;$i++){
    			$c="'";
    			$b=$c.'mat'. $k . $j . $i.$c;
     
    			$array[$k][$j][$i]=$_POST[$b];
    			echo $b;
     
     
     
    }
    }
    }
    echo "maintenant ma variable de la ligne 1";
    echo $array[1][1][1];
     
    ?>
    Le echo $b me confirme que sa valeur, donc ce que j'envoie dans la méthode $_POST a bien le format que je souhaite CAD 'matxxx'(mat111 par ex.).

    Pourtant le dernier echo, celui de mon tableau ne me renvoie rien...

  4. #4
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    Ok, j'ai trouvé ça donne ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    <html>
    <head><title>matrix result</title></head>
    <body>
    <?php
    for($k=1;$k<3;$k++){
    	for($j=1;$j<4;$j++){
    		for($i=1;$i<4;$i++){
    			$array[$k][$j][$i]=$_POST['mat'.$k.$j.$i];
    			echo $b;
    			echo $array[$k][$j][$i];
    			}
    	}
    }
    echo "maintenant ma variable de la ligne 1";
    echo $array[1][1][1];
     
    ?>

  5. #5
    Membre éclairé Avatar de JmL40
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    348
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 348
    Par défaut
    Je comprend pas ta variable $_POST ! ! !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 30
    Par défaut
    petite astuce (au cas ou)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $nb=1;
    $astuce_1='Je suis l\'astuce 1';
    $astuce='astuce_'.$nb;
     
    echo $$astuce;
    affiche : Je suis l'astuce 1

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JSTL] nom de variable "dynamique"
    Par gmonta31 dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 04/05/2006, 14h31
  2. Nom de variable dynamique
    Par mavina dans le forum Linux
    Réponses: 7
    Dernier message: 26/04/2006, 21h48
  3. Réponses: 4
    Dernier message: 13/09/2005, 12h50
  4. Noms de Variables dynamiques
    Par horec dans le forum Langage
    Réponses: 7
    Dernier message: 22/07/2005, 17h47
  5. [SQL SERVER 2000] Noms de variables dynamiques
    Par cassoulet dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 08/09/2004, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo