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

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

Marsh Posté le 09-07-2003 à 18:20:38    

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

Reply

Marsh Posté le 09-07-2003 à 18:20:38   

Reply

Marsh Posté le 09-07-2003 à 18:24:25    

un truc genre

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

Reply

Marsh Posté le 09-07-2003 à 18:37:04    

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

Reply

Marsh Posté le 09-07-2003 à 20:06:00    

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

Reply

Marsh Posté le 09-07-2003 à 20:21:59    

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
Reply

Marsh Posté le 09-07-2003 à 20:32:55    

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
Reply

Marsh Posté le 09-07-2003 à 21:03:42    

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>";

Reply

Marsh Posté le 09-07-2003 à 21:06:08    

oui bon, d'accord :D

Reply

Marsh Posté le 09-07-2003 à 21:07:53    

mrBebert a écrit :

oui bon, d'accord :D  


 :ange:  :D

Reply

Marsh Posté le 10-07-2003 à 11:30:45    

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:

Reply

Marsh Posté le 10-07-2003 à 11:30:45   

Reply

Marsh Posté le 10-07-2003 à 13:28:21    

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


---------------
yvele n'est plus.
Reply

Marsh Posté le 10-07-2003 à 15:41:07    

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:

Reply

Marsh Posté le 10-07-2003 à 15:46:42    

mrBebert a écrit :

c'est bien, eval() :)  

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

:whistle:  :whistle:  


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


---------------
yvele n'est plus.
Reply

Marsh Posté le 10-07-2003 à 15:47:55    

Citation :

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


 
 
puissant!  :sol:  


---------------
yvele n'est plus.
Reply

Marsh Posté le 10-07-2003 à 16:07:30    

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

Reply

Marsh Posté le 10-07-2003 à 16:14:45    

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


---------------
yvele n'est plus.
Reply

Marsh Posté le 10-07-2003 à 16:40:42    

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
Reply

Marsh Posté le 10-07-2003 à 17:36:33    

: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.
Reply

Marsh Posté le 10-07-2003 à 19:36:49    

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

Reply

Marsh Posté le 10-07-2003 à 20:56:02    

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
Reply

Marsh Posté le 11-07-2003 à 10:50:38    

mrBebert a écrit :

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


 
psychopate va!  :D  


---------------
yvele n'est plus.
Reply

Marsh Posté le 12-07-2003 à 18:23:35    

utilise un tableau associatif...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed