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

  FORUM HardWare.fr
  Programmation
  PHP

  [Résolu] Variables de Variables ...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] Variables de Variables ...

n°1725356
elmarokinh​o
Posté le 28-04-2008 à 09:21:52  profilanswer
 

Bonjour,
 
Cela fait un moment que je bloque sur un probleme ...  
il s'agit d'un script php orienté réseau. je dispose de plusieurs array contenant les adresse ip correspondant au port des routeurs.
 

Code :
  1. $ip_new_switch = $switch_name_id[$result_port] ;


 
ici je veux recherché dans l'array atant pour nom la variable swtich_name_id qui est le résultat d'une fonction précédente mais cette ligne agit comme si je cherche l'array "switch_name_id"...
 
comment faire pour qu'il prenne en compte le fait que c'est une variable ?
 
merci


Message édité par elmarokinho le 28-04-2008 à 10:20:09
mood
Publicité
Posté le 28-04-2008 à 09:21:52  profilanswer
 

n°1725370
sielfried
Posté le 28-04-2008 à 09:31:36  profilanswer
 
n°1725371
masterpsx
Aigloun foutougrafe
Posté le 28-04-2008 à 09:34:08  profilanswer
 

Moi non plus, je vois pas d'erreur dans ta ligne, si il y a un problème c'est surement dans ta fonction.

n°1725373
skeye
Posté le 28-04-2008 à 09:35:44  profilanswer
 

combien on parie qu'il veut utiliser ${$switch_name_id} et qu'il mérite des coups de pelle à clous?


---------------
Can't buy what I want because it's free -
n°1725376
elmarokinh​o
Posté le 28-04-2008 à 09:38:17  profilanswer
 

j'opterais pour la version avec les pelles a clous ^^  
 
beh jpouvais pas deviné !  :pt1cable:  
 
ata je teste


Message édité par elmarokinho le 28-04-2008 à 09:38:33
n°1725377
skeye
Posté le 28-04-2008 à 09:39:31  profilanswer
 

Quand on a besoin de faire ça, ça veut dire dans 99,99999% des cas qu'on aurait dû faire un tableau quelque part!


---------------
Can't buy what I want because it's free -
n°1725379
elmarokinh​o
Posté le 28-04-2008 à 09:42:34  profilanswer
 

j'ai un tableau... mais c'est pour y faire appel que j'ai un probleme

Message cité 1 fois
Message édité par elmarokinho le 28-04-2008 à 09:42:57
n°1725380
skeye
Posté le 28-04-2008 à 09:43:09  profilanswer
 

elmarokinho a écrit :

j'ai un tableau... mais pour c'est pour y faire appel que j'ai un probleme


Il te faudrait peut-être un tableau de tableau...;)


---------------
Can't buy what I want because it's free -
n°1725383
sielfried
Posté le 28-04-2008 à 09:46:48  profilanswer
 

Si ta "fonction précédente" renvoie la chaîne de caractère "switch_name_id", il serait effectivement plus judicieux d'utiliser un tableau à deux dimensions, et d'accéder à ton truc par $info[$resultat_de_ta_fonction][$result_port];
 
M'enfin faudrait voir un peu + de ton code. :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1725388
elmarokinh​o
Posté le 28-04-2008 à 09:54:23  profilanswer
 

sielfried a écrit :


M'enfin faudrait voir un peu + de ton code. :spamafote:


392 lignes ... c cho  :whistle:

 
Code :
  1. // Fonction permmettant d'extraire l'ID du routeur ( Switch-Cisco-000123 : _123 )
  2. $orig = explode('-', $switch_name);
  3. $dest = array_slice($orig, -1);
  4. $name_result = join('-', $dest);
  5. $switch_name_id = str_replace('"','', $name_result);
  6. $switch_name_id = "_".$switch_name_id ;
  7. echo $switch_name_id ;
  8. //-------------
  9. //plus loin ---
  10. //------------
  11.   $ip_new_switch = ${$switch_name_id}[$result_port] ;
  12.     $url = "stage2.php?ip_machine=" . $ip_machine . "&ip_switch=" . $ip_new_switch;
 

Array en question :

 
Code :
  1. $_123 = array (
  2. 'Gi0/1' => '192.126.60.198',
  3. 'Gi0/2' => '192.126.60.195'
  4. ) ;
  

merci de votre aide

Message cité 1 fois
Message édité par elmarokinho le 28-04-2008 à 09:59:27
mood
Publicité
Posté le 28-04-2008 à 09:54:23  profilanswer
 

n°1725391
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 28-04-2008 à 09:55:36  profilanswer
 

voici comment je fais des noms de variables dynamiques
${"champ".$num_corres}
 
apres je comprend pas exactement ce que tu veut
explique mieux

n°1725393
infoman64
JE SUIS LA POUR TOI MON AMI
Posté le 28-04-2008 à 09:57:04  profilanswer
 

ah ben voila tu utilise deja ce que je t'ai dit, on a ecrit le message en meme temps désolé

n°1725395
skeye
Posté le 28-04-2008 à 09:58:18  profilanswer
 

infoman64 a écrit :

voici comment je fais des noms de variables dynamiques
${"champ".$num_corres}


Exemple typique de n'importe-quoi à cause de la permissivité de php. Là tu devrais utiliser un tableau dont $num_corres sera l'indice.


---------------
Can't buy what I want because it's free -
n°1725397
elmarokinh​o
Posté le 28-04-2008 à 10:00:37  profilanswer
 

en fait c'est bon c'est sur le ${$variables} que je bloquait le reste c'était des petites erreurs de codes...  
 
merci pour votre aide !

n°1725399
skeye
Posté le 28-04-2008 à 10:02:08  profilanswer
 

elmarokinho a écrit :

en fait c'est bon c'est sur le ${$variables} que je bloquait le reste c'était des petites erreurs de codes...  
 
merci pour votre aide !


 
Oui mais si tu écoutais ce qu'on te dit tu n'aurais pas besoin de cette syntaxe ignoble.:o


---------------
Can't buy what I want because it's free -
n°1725403
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2008 à 10:08:24  profilanswer
 

infoman64 a écrit :

voici comment je fais des noms de variables dynamiques
${"champ".$num_corres}
 
apres je comprend pas exactement ce que tu veut
explique mieux


Ouéééé \o/
 

Code :
  1. <?php
  2. class FooClass {
  3.     }
  4. $foo = new FooClass();
  5. $foo->bar = "pouet";
  6. $truc = "bar";
  7. $pouet = "tr";
  8. $machin = "uc";
  9.  
  10. function tr($totoz){
  11.  global $pouet, $machin, $truc;
  12.  return ${$pouet.$machin}.$totoz;
  13. }
  14.  
  15. echo ${($foo->${${$foo->bar}.((${pouet}.${machin}===$pouet.${machin})?${machin}:${$pouet.$machin})})}(($foo->${${$foo->bar}.((${pouet}.${machin}===$pouet.${machin})?${machin}:${$pouet.$machin})}));


 
Spécial dédicace à Skeye [:stukka]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1725404
elmarokinh​o
Posté le 28-04-2008 à 10:09:00  profilanswer
 

oui mais ici je ne vois pas trop comment faire un tableau de tableau :??:

n°1725423
skeye
Posté le 28-04-2008 à 10:22:18  profilanswer
 

elmarokinho a écrit :

oui mais ici je ne vois pas trop comment faire un tableau de tableau :??:

 
elmarokinho a écrit :


392 lignes ... c cho  :whistle:

 
Code :
  1. // Fonction permmettant d'extraire l'ID du routeur ( Switch-Cisco-000123 : _123 )
  2. $orig = explode('-', $switch_name);
  3. $dest = array_slice($orig, -1);
  4. $name_result = join('-', $dest);
  5. $switch_name_id = str_replace('"','', $name_result);
  6. $switch_name_id = "_".$switch_name_id ;
  7. echo $switch_name_id ;
  8. //-------------
  9. //plus loin ---
  10. //------------
  11.   $ip_new_switch = ${$switch_name_id}[$result_port] ;
  12.     $url = "stage2.php?ip_machine=" . $ip_machine . "&ip_switch=" . $ip_new_switch;
 

Array en question :

 
Code :
  1. $_123 = array (
  2. 'Gi0/1' => '192.126.60.198',
  3. 'Gi0/2' => '192.126.60.195'
  4. ) ;
 


merci de votre aide

 


c'est simple, au lieu de créer des variables ayant pour nom tes switch_name_id, tu crées un tableau dont les indexes sont tes switch_name_id.

 
masklinn a écrit :


Ouéééé \o/

 
Code :
  1. <?php
  2. class FooClass {
  3.     }
  4. $foo = new FooClass();
  5. $foo->bar = "pouet";
  6. $truc = "bar";
  7. $pouet = "tr";
  8. $machin = "uc";
  9.  
  10. function tr($totoz){
  11.  global $pouet, $machin, $truc;
  12.  return ${$pouet.$machin}.$totoz;
  13. }
  14.  
  15. echo ${($foo->${${$foo->bar}.((${pouet}.${machin}===$pouet.${machin})?${machin}:${$pouet.$machin})})}(($foo->${${$foo->bar}.((${pouet}.${machin}===$pouet.${machin})?${machin}:${$pouet.$machin})}));
 

Spécial dédicace à Skeye [:stukka]

 

[:ddr555]


Message édité par skeye le 28-04-2008 à 10:22:37

---------------
Can't buy what I want because it's free -
n°1725429
skeye
Posté le 28-04-2008 à 10:28:51  profilanswer
 


je sais plus, exécute tu verras bien.[:petrus75]


---------------
Can't buy what I want because it's free -
n°1725436
skeye
Posté le 28-04-2008 à 10:32:42  profilanswer
 


[:haha]


---------------
Can't buy what I want because it's free -
n°1725440
skeye
Posté le 28-04-2008 à 10:35:39  profilanswer
 

non, j'ai du bash que sur des serveurs, donc je vais éviter.[:petrus75]


---------------
Can't buy what I want because it's free -
n°1725442
elmarokinh​o
Posté le 28-04-2008 à 10:37:02  profilanswer
 

sa donne quoi? :??: lol

n°1725447
masklinn
í dag viðrar vel til loftárása
Posté le 28-04-2008 à 10:38:52  profilanswer
 

elmarokinho a écrit :

sa donne quoi? :??: lol


http://en.wikipedia.org/wiki/Forkbomb


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1725449
elmarokinh​o
Posté le 28-04-2008 à 10:40:29  profilanswer
 

masklinn a écrit :


....iki/Forkbomb


 
pas besoin d'aller plus loin  :lol:


Message édité par elmarokinho le 28-04-2008 à 10:40:57
n°1725450
ccp6128
Syntax error
Posté le 28-04-2008 à 10:42:12  profilanswer
 

C'est un exemple classique de forkbomb (un process qui se réplique indéfiniment en monopolisant les ressources de la machine).
 
Sur un serveur bien configuré, avec une limite du nombre de process créables par un user, ça n'entraîne pas de plantage.

mood
Publicité
Posté le   profilanswer
 


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

  [Résolu] Variables de Variables ...

 

Sujets relatifs
[RESOLU] Portée variables dans les classes ?Variables spéciales C/C++ [RESOLU]
[Résolu] chmod() et les variables $_GET['var'][ résolu tout seul ] variables GET en un seul parametre
[Résolu] Problème avec les variables de session[résolu] récupérer 2 variables dans <option> du <select>
[Résolu] Variables... Incroyable ![VBA] [Résolu] Partager des variables entre plusieurs userform
[Résolu] Variables dynamiques ?[résolu] Variables dynamiques dans des classes
Plus de sujets relatifs à : [Résolu] Variables de Variables ...


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