Ptit pb de fonction -> Ca doit pas être très difficile à mon avis...

Ptit pb de fonction -> Ca doit pas être très difficile à mon avis... - PHP - Programmation

Marsh Posté le 26-09-2003 à 10:43:40    

Je suis entrain de découvrir les fonctions, quelle joie... :D
 
La fonction ci dessous calcule la valeur ${'J'.$numero_joueur.'var_gb'}.
 

Code :
  1. Function eval_gb ($gardien, $meneur, $forme, $experience, $numero_joueur)
  2. {
  3. ${'J'.$numero_joueur.'var_gb'} = ($gardien * 8 + $meneur + $forme + $experience * 2)/12;
  4. }


 
 
Quand je veux l'appeller dans ma page j'utilise :

Code :
  1. eval_gb (${'J'.$i.'mlv'}, ${'J'.$i.'led'}, ${'J'.$i.'for'}, ${'J'.$i.'rut'}, $i);
  2. echo ${'J'.$i.'var_gb'};


 
Mon pb c'est que rien ne s'affiche quand je fait mon echo.
Alors que si je mets l'echo dans ma fonction, en faisant echo ${'J'.$numero_joueur.'var_gb'} j'ai bien mes résultats qui s'affichent.
Il y a un truc que j'ai raté je pense dans l'utilisation des fonctions non ?


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 26-09-2003 à 10:43:40   

Reply

Marsh Posté le 26-09-2003 à 10:56:29    

Je crois bien que la réponse se trouve dans Return...


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 26-09-2003 à 13:57:52    

Tu fais le concours du code le plus illisible du monde ou quoi !
 
Pour ton problème, le problème, c'est que dans ta fonction, tu cré une variable locale dont le nom est ${'J'.$numero_joueur.'var_gb'}
 
Une fois sortie de la fonction, cette variable n'éxiste plus.
 
Y'a plusieurs solutions :
 
Soit tu cré la variable globale Avant l'appel de la fonction, et tu modifie la fonction pour qu'elle utilise la variable globale, soit tu retourne la valeur.
 
Exemple :
 

Code :
  1. function eval_gb ($gardien, $meneur, $forme, $experience, $numero_joueur)
  2. {
  3. return( ($gardien * 8 + $meneur + $forme + $experience * 2)/12 );

}

Code :
  1. ${'J'.$i.'var_gb'} = eval_gb (${'J'.$i.'mlv'}, ${'J'.$i.'led'}, ${'J'.$i.'for'}, ${'J'.$i.'rut'}, $i);
  2. echo ${'J'.$i.'var_gb'};


 
Cela dit, les tableaux c'est pas pour les chiens  :D  


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-09-2003 à 15:35:52    

Merchi :)
En fait j'avais bien utilisé un ptit return pour récupérer ma varialbe  :jap:  Ca m'apprendra à pas lire attentivement la doc php  :fou:  
 
Mon code est pas illisible, il est... pas compliant ! :D


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Marsh Posté le 26-09-2003 à 15:38:04    

Format_C a écrit :

Merchi :)
En fait j'avais bien utilisé un ptit return pour récupérer ma varialbe  :jap:  Ca m'apprendra à pas lire attentivement la doc php  :fou:  
 
Mon code est pas illisible, il est... pas compliant ! :D


 
Et les tableaux, t'en pense quoi ?


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 26-09-2003 à 15:41:16    

Mara's dad a écrit :


 
Et les tableaux, t'en pense quoi ?


c trop lisible, c'est moins drôle  :whistle:


---------------
from here and there -- \o__________________________________ -- la révolution de la terre, en silence
Reply

Marsh Posté le 26-09-2003 à 16:14:34    

Mara's dad a écrit :


 
Et les tableaux, t'en pense quoi ?


 
J'en pense qu'effectivement il faudrait que j'apprenne à m'en servir (je débute) :D


---------------
Mes guitares, ampli, et effets sont en vente !
Reply

Sujets relatifs:

Leave a Replay

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