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 :

Comment générer des noms de variables ? [PHP 5.6]


Sujet :

Langage PHP

  1. #1
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut Comment générer des noms de variables ?
    Bonjour,

    J'ai des souvenirs de syntaxe trop flou pour que ça fonctionne du premier coup...

    J'ai une série de variables $r7 à $r10 à définir par le processus suivant :
    Pour chaque caractère d'une chaîne, appliquer une transformation du caractère en nombre et donner le résultat en valeur d'une variable nommée automatiquement (de $r7 à $r10, donc).

    J'ai souvenir d'une syntaxe du genre $r{$nombre} mais ça ne fonctionne pas ; PHP me dit que mes variables ne sont pas définies.
    Voici le code que j'ai tenté ; qu'est-ce qui coince ?
    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
    // Calcul de la clé terminale
    for ($i = 0; $i < 4; $i++)
    {
     
    	$carac = substr($num_ordre, $i, 1);
     
    	if(is_numeric($carac))
    	{
    		$nombre = intval($carac);
    	}
    	else
    	{
    		$nombre = ord($carac) - 87;
    	}
     
    	$r{$i + 7} = $nombre;
     
    }
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Plutôt :
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Dans mon cas, ce serait plutôt ${'r'.$i + 7} mais ça ne fonctionne toujours pas ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ${'r'.$i + 7} = $nombre;
    => undefined variable r7 (et r8, r9 r10)

    J'ai essayé ainsi et ça fonctionne mais c'est plus lourd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $variable = $i + 7;
    	$variable = 'r'.$variable;
     
    	$$variable = $nombre; // Va générer les variables $r7 à $r10
    EDIT : La bonne syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ${'r'.($i + 7)} = $nombre;
    Merci Sabotage de m'avoir mis sur la voie.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

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

Discussions similaires

  1. Générer des noms de variables à la volée
    Par Guillaume_Caldera dans le forum Langage
    Réponses: 5
    Dernier message: 27/12/2009, 18h07
  2. En script shell, comment générer un nom de variable ?
    Par valefor dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/09/2008, 21h23
  3. Comment générer des pages HTML dynamiques ?
    Par Devil666 dans le forum Java EE
    Réponses: 2
    Dernier message: 15/04/2005, 10h56
  4. Comment résoudre des noms NETBIOS ?
    Par dj_lil dans le forum Web & réseau
    Réponses: 2
    Dernier message: 10/02/2005, 15h23
  5. Generer des noms de variables avec une boucle
    Par moutanakid dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/07/2004, 17h45

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