Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3047 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] créer un nom de variable à partir d'un autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] créer un nom de variable à partir d'un autre

n°452513
misterping​uin
Posté le 09-07-2003 à 18:20:38  profilanswer
 

Je cherche à générer dynamiquement des noms de variable, je voudrais par exemple avoir :

Code :
  1. $var1 = "valeur1";
  2. $var2valeur1 = "valeur2";


 
Est il possible de créer le nom de la variable $var2valeur1 ?
 
Merci

mood
Publicité
Posté le 09-07-2003 à 18:20:38  profilanswer
 

n°452518
belgique
Posté le 09-07-2003 à 18:24:25  profilanswer
 

un truc genre

Code :
  1. ${'var2'.$var1}

n°452532
misterping​uin
Posté le 09-07-2003 à 18:37:04  profilanswer
 

Belgique a écrit :

un truc genre

Code :
  1. ${'var2'.$var1}

 


il aime pô...

Code :
  1. Parse error: parse error, expecting `T_VARIABLE' or `'$'' in /home/speedres/www/test.php on line 11

n°452597
mrbebert
Posté le 09-07-2003 à 20:06:00  profilanswer
 

Mets la ligne de code complète [:proy]

n°452619
uriel
blood pt.2
Posté le 09-07-2003 à 20:21:59  profilanswer
 

tout ce que tu veux c'est une concatenation de nom de variables avec le chiffre final qui change?
 
edit qwerty :/


Message édité par uriel le 09-07-2003 à 20:22:53

---------------
IVG en france
n°452634
mrbebert
Posté le 09-07-2003 à 20:32:55  profilanswer
 

Ce qu'à mis Belgique est bon [:proy]  
 

Code :
  1. for ($i = 1 ; $i < 5 ; $i++) {
  2.   ${'variable' . $i} = $i;
  3. }
  4. echo "variable1=$variable1<br>';
  5. echo "variable2=$variable2<br>';
  6. echo "variable3=$variable3<br>';
  7. echo "variable4=$variable4<br>';


Message édité par mrbebert le 09-07-2003 à 20:33:07
n°452739
Kt-Redfox
Posté le 09-07-2003 à 21:03:42  profilanswer
 

Euh ça plutôt nan:
 

Code :
  1. for ($i = 1 ; $i < 5 ; $i++) {
  2.       ${'variable' . $i} = $i;
  3.   }
  4.   echo "variable1=$variable1<br>";
  5.   echo "variable2=$variable2<br>";
  6.   echo "variable3=$variable3<br>";
  7.   echo "variable4=$variable4<br>";

n°452749
mrbebert
Posté le 09-07-2003 à 21:06:08  profilanswer
 

oui bon, d'accord :D

n°452754
Kt-Redfox
Posté le 09-07-2003 à 21:07:53  profilanswer
 

mrBebert a écrit :

oui bon, d'accord :D  


 :ange:  :D

n°453410
misterping​uin
Posté le 10-07-2003 à 11:30:45  profilanswer
 

mrBebert a écrit :

Ce qu'à mis Belgique est bon [:proy]  
 

Code :
  1. for ($i = 1 ; $i < 5 ; $i++) {
  2.   ${'variable' . $i} = $i;
  3. }
  4. echo "variable1=$variable1<br>';
  5. echo "variable2=$variable2<br>';
  6. echo "variable3=$variable3<br>';
  7. echo "variable4=$variable4<br>';




en fait oui, j'avais mis des () à la place des {}
 
ça m'apprendra à bosser en 1400*1050  [:tapai]  
 
merci  :jap:

mood
Publicité
Posté le 10-07-2003 à 11:30:45  profilanswer
 

n°453546
Mr yvele
yvele n'est plus.
Posté le 10-07-2003 à 13:28:21  profilanswer
 

y a aussi eval()  [:sinclaire]  
 
mais c'est dangereux sa race..


---------------
yvele n'est plus.
n°453744
mrbebert
Posté le 10-07-2003 à 15:41:07  profilanswer
 

Mr yvele a écrit :

y a aussi eval()  [:sinclaire]  
 
mais c'est dangereux sa race..
 

c'est bien, eval() :)  

Code :
  1. eval($a = 'eval($a);');

:whistle:  :whistle:

n°453755
Mr yvele
yvele n'est plus.
Posté le 10-07-2003 à 15:46:42  profilanswer
 

mrBebert a écrit :

c'est bien, eval() :)  

Code :
  1. eval($a = 'eval($a);');

:whistle:  :whistle:  


 
...
 
..........
 
 
................................!!!!!!!!!
 
!!!!!!!!!
 
 :pt1cable:  [:rofl]  
pas mal


---------------
yvele n'est plus.
n°453759
Mr yvele
yvele n'est plus.
Posté le 10-07-2003 à 15:47:55  profilanswer
 

Citation :

Apache.exe a généré des erreurs et sera fermé par Windows.


 
 
puissant!  :sol:  


---------------
yvele n'est plus.
n°453805
mrbebert
Posté le 10-07-2003 à 16:07:30  profilanswer
 

moi, j'ai ca comme erreur :pt1cable:  

Code :
  1. Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 5632 bytes) in /data/web/webmep.8230/docs/test/boucle1.php(4) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : eval()'d code(1) : e

n°453823
Mr yvele
yvele n'est plus.
Posté le 10-07-2003 à 16:14:45  profilanswer
 

:lol:  
 
t'as trouvé ça toi meme?


---------------
yvele n'est plus.
n°453871
mrbebert
Posté le 10-07-2003 à 16:40:42  profilanswer
 

oui :)  
 
eval() est idéal pour rendre un programme illisible :D  :whistle:  
 
Et il est parfaitement adapté aux appels récursifs. Par exemple, un calcul de factorielle :

Code :
  1. $valeur = 6; // valeur dont on veut la factorielle, le résultat sera dans $result
  2. eval('$result = 1; eval($s = "if (\$valeur > 1) {\$result *= \$valeur--; eval(\$s);}" );');
  3. echo 'Resultat : ' . $result;


Message édité par mrbebert le 10-07-2003 à 16:42:16
n°453957
Mr yvele
yvele n'est plus.
Posté le 10-07-2003 à 17:36:33  profilanswer
 

:ouch:  
 
mais t'es un gros taré toi..  :D  
 
un gars normal aurais fait ça plutot :
 

Code :
  1. $valeur = 6;
  2. $result = 1;
  3. while(1)
  4. {
  5.  if ($valeur > 1)
  6.  {
  7.   $result *= $valeur--;
  8.  }
  9.  else
  10.  {
  11.   break;
  12.  }
  13. }
  14.    echo 'Resultat : ' . $result;


 
et je suis sur que c'est + rapide que des eval..  :)


Message édité par Mr yvele le 10-07-2003 à 17:37:54

---------------
yvele n'est plus.
n°454053
mrbebert
Posté le 10-07-2003 à 19:36:49  profilanswer
 

C'est peut être plus efficace, mais nettement moins amusant :D

n°454136
belgique
Posté le 10-07-2003 à 20:56:02  profilanswer
 

Mr yvele a écrit :

:ouch:  
 
mais t'es un gros taré toi..  :D  
 
un gars normal aurais fait ça plutot :
 

Code :
  1. $valeur = 6;
  2. $result = 1;
  3. while(1)
  4. {
  5.   if ($valeur > 1)
  6.   {
  7.    $result *= $valeur--;
  8.   }
  9.   else
  10.   {
  11.    break;
  12.   }
  13. }
  14.    echo 'Resultat : ' . $result;


 
et je suis sur que c'est + rapide que des eval..  :)


En même temps, tant qu'à faire propre, autant le faire bien   :p


Message édité par belgique le 10-07-2003 à 20:57:07
n°454792
Mr yvele
yvele n'est plus.
Posté le 11-07-2003 à 10:50:38  profilanswer
 

mrBebert a écrit :

C'est peut être plus efficace, mais nettement moins amusant :D  


 
psychopate va!  :D  


---------------
yvele n'est plus.
n°456219
TriadPtale
Posté le 12-07-2003 à 18:23:35  profilanswer
 

utilise un tableau associatif...

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] créer un nom de variable à partir d'un autre

 

Sujets relatifs
[PHP] comment cocher des checkbox déjà affichés ?boucle for et nom de variable dynamique
[PHP] Forum PHPBB chez Free : les avatars ne marchent pas[PHP] J'arrive pas à rajouter un agenda à Spip.
[PHP] Compteur de clicks sur un lien externepiloter un modem SMS à partir de php...!?
[PHP] Pb de session : "has already more than max_user_connection"[PHP] Quel a été le dernire bouton cliqué ?
[PHP/JS] 2 submit avec des "onClick=" sur 1 même formulaireprob upload champ dans BD à partir d'un formulaire
Plus de sujets relatifs à : [PHP] créer un nom de variable à partir d'un autre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR