Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/08/2007, 22h12   #1
Membre habitué
 
Avatar de xenos
 
Inscription : septembre 2005
Messages : 402
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 402
Points : 140
Points : 140
Par défaut Construire une variable et la remplacer par sa valeur

Bonjour,

Je dois générer 193 variables qui commencent par "trad_pays_". Ce que j'ai réussi à faire.

Le problème est que ce sont des variables qui doivent être changées par du texte.

Grâce à un fichier include :
- trad_pays_1 = Belgique,
- trad_pays_2 = France,
- ...

Voici le code :

Code :
1
2
3
4
5
for ($i=1; $i<=194; $i++)
{
	$var = "trad_pays_" . $i;
	echo($var . "<br />");
}
Le problème est que seul la liste suivante est générée :
"trad_pays_1
trad_pays_2
trad_pays_3
..."

Mais ces variables doivent être remplacées par leurs valeurs respectives.

En effet, en écrivant directement :
"trad_pays_1
trad_pays_2
trad_pays_3
..."
dans le fichier .php, lors de l'affichage, elles sont directement changées par leurs valeurs respectives. Et ainsi obtenir :
"Belgique
France
Luxembourg
..."

Comment puis je dés lors faire en sorte que les valeurs soient affichées à la place du nom des variables ?

D'avance merci pour vos réponses.



xenos
xenos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 09h20   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 453
Points : 5 453
Bonjour

A priori ce dont tu as besoin c'est d'afficher les variables $trad_pays_1, $trad_pays_2, etc... C'est bien ça ?

Donc ce dont tu as besoin, c'est de variables dynamiques. Essaye EDIT : Comment appeler une variable dont le nom est stocké dans une autre variable?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 12h44   #3
Membre habitué
 
Avatar de xenos
 
Inscription : septembre 2005
Messages : 402
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 402
Points : 140
Points : 140
Merci pour ta réponse Célira, mais j'avais déjà trouvé cette réponse.

Le problème est que j'appelle la variable "trad_pays_1" et non pas "$trad_pays_1" (le signe dollar variant).

Donc en mettant simplement "trad_pays_1" dans le code, il est traduit par sa valeur : Belgique.

Du coup avec ton exemple ($$var), il appelle la variable "$trad_pays_1", ce qui fait que rien ne s'affiche vu qu'elle n'existe pas ...

En fait cette variable "trad_pays_1" vient d'un fichier include dans lequel je stocke la variable en français.
xenos est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/08/2007, 14h09   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
une variable en PHP est toujours précédée d'un $.
Dans votre cas vous devez donc surement utiliser des constantes de ce style
Code :
define ('trad_pays_1', 'Belgique');
et dans ce cas il faut faire
Code :
constant("trad_pays_" . $i);
pour récupérer la valeur de la constante (en vérifiant avant avec defined() qu'elle existe bien).
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2007, 12h02   #5
Membre habitué
 
Avatar de xenos
 
Inscription : septembre 2005
Messages : 402
Détails du profil
Informations personnelles :
Localisation : Belgique

Informations forums :
Inscription : septembre 2005
Messages : 402
Points : 140
Points : 140
Merci pour votre aide koopajah et Celira.

La solution de koopajah fonctionne parfaitement !

Bon développement à tous.



xenos
xenos est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h45.


 
 
 
 
Partenaires

Hébergement Web