IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Optimisation de fonction ...


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut Optimisation de fonction ...
    <?php
    function&#160;write_rapport_csi($_u11,&#160;$_rt11,&#160;$_u12,&#160;$_rt12,&#160;$_u13,&#160;$_rt13,&#160;$_u14,&#160;$_rt14,&#160;$_u15,&#160;$_rt15,&#160;$_u16,&#160;$_rt16)
    {
    &#160;&#160;&#160;
    $n_111&#160;=&#160;"R&eacute;giment&#160;de&#160;Droids&#160;de&#160;Combats&#160;polyvalent";
    &#160;&#160;&#160;
    $n_112&#160;=&#160;"Tank&#160;Droid";
    &#160;&#160;&#160;
    $n_113&#160;=&#160;"Droid&#160;Araign&eacute;e";
    &#160;&#160;&#160;
    $n_114&#160;=&#160;"Gardes&#160;Magna";
    &#160;&#160;&#160;
    $n_115&#160;=&#160;"Cannoni&egrave;re&#160;Droid";
    &#160;&#160;&#160;
    $n_116&#160;=&#160;"Droid&#160;Hailfire";
    &#160;&#160;&#160;
    &#160;&#160;&#160;print(
    "<p><table&#160;width=450&#160;border=0&#160;align=center&#160;cellpadding=0&#160;cellspacing=1&#160;bgcolor=#000000&#160;class=txt>
    &#160;&#160;&#160;&#160;&#160;<tr&#160;bgcolor=#FFFFFF>
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;<td&#160;height=17&#160;width=80%&#160;align=center><i>Unité&#160;de&#160;Csi</i></td>
    &#160;&#160;&#160;&#160;&#160;&#160;&#160;<td&#160;align=center><i>Résistance</i></td>
    &#160;&#160;&#160;&#160;&#160;</tr>"
    );
    &#160;&#160;&#160;if(
    $_u11)&#160;print("<tr&#160;bgcolor=#FFFFFF><td&#160;height=17>-&#160;".$_u11."&#160;".$n_111."</td><td&#160;class=resistance>".$_rt11."</td></tr>");
    &#160;&#160;&#160;if(
    $_u12)&#160;print("<tr&#160;bgcolor=#FFFFFF><td&#160;height=17>-&#160;".$_u12."&#160;".$n_112."</td><td&#160;class=resistance>".$_rt12."</td></tr>");
    &#160;&#160;&#160;if(
    $_u13)&#160;print("<tr&#160;bgcolor=#FFFFFF><td&#160;height=17>-&#160;".$_u13."&#160;".$n_113."</td><td&#160;class=resistance>".$_rt13."</td></tr>");
    &#160;&#160;&#160;if(
    $_u14)&#160;print("<tr&#160;bgcolor=#FFFFFF><td&#160;height=17>-&#160;".$_u14."&#160;".$n_114."</td><td&#160;class=resistance>".$_rt14."</td></tr>");
    &#160;&#160;&#160;if(
    $_u15)&#160;print("<tr&#160;bgcolor=#FFFFFF><td&#160;height=17>-&#160;".$_u15."&#160;".$n_115."</td><td&#160;class=resistance>".$_rt15."</td></tr>");
    &#160;&#160;&#160;if(
    $_u16)&#160;print("<tr&#160;bgcolor=#FFFFFF><td&#160;height=17>-&#160;".$_u16."&#160;".$n_116."</td><td&#160;class=resistance>".$_rt16."</td></tr>");
    &#160;&#160;&#160;print(
    "</table></p>");
    }&#160;
    ?>
    C'est une fonction qui ecris du code tt simplement je pense pas qu'on puisse l'optimiser dans le fond juste peut etre que dans l'appel de la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    write_rapport_csi($a_u11, $a_rt11, $a_u12, $a_rt12, $a_u13, $a_rt13, $a_u14, $a_rt14, $a_u15, $a_rt15, $a_u16, $a_rt16);
    Comme aucun calcul n'est effectué je sais qu'il existe un moyen pour que ça ne créer pas de nouvelle variable lors de l'utilisation de la fonction mais que ça prenne les variables du programme ... avec '&' notement ... mais je sais pas m'en servir pouvez vous m'aider ?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Points : 133
    Points
    133
    Par défaut
    Tu peux aussi recuperer les valeurs des variables exterieur a la fonction grace a
    $GLOBALS['nom_variable'];

    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $toto=10;
     
    function test(){
      $tata=$GLOBALS['toto'];
      //code de la fonction
    }

  3. #3
    Membre confirmé Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    Salut et bonne année,

    Puisque ta fonction ne fait pas de calculs pourquoi ne pas en faire un simple fichier inclus.

  4. #4
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    hum connaissait pas merci

    mais comment on se sert du '&'

  5. #5
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 72
    Points
    72
    Par défaut
    Je croi qu'en PHP on s'en sert pas, on s'en sert en C++ pour faire une reference vars une variable.

  6. #6
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par gilmaire
    Salut et bonne année,

    Puisque ta fonction ne fait pas de calculs pourquoi ne pas en faire un simple fichier inclus.
    je me sert plusieurs fois de la fonction d'ecriture dans une meme page de mon programme

    en gros ça gere une phase d'attaque ça ecrit

  7. #7
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par Arnich
    Je croi qu'en PHP on s'en sert pas, on s'en sert en C++ pour faire une reference vars une variable.
    lool heu j'ai cru voir ça dans le premier topic php pourtant
    giminik a écrit:
    euh, pardonnez mon ignorence mais ça sert à quoi le & devant le nom de la variable passée en paramètre ?

    La Réponse
    ça indique que la variable sera passée par référence, aucune copie ne sera crée à l'appel de la fonction, c'est la variable pasée en paramètre qui sera utilisée.
    sauf que même ça je comprends pas

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Points : 133
    Points
    133
    Par défaut
    Le & tu sers a modifier une variable exterieure a ta fonction dans ta fonction (tu passes effectivement l'argument par reference)

    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $toto=2;
     
    function test(&$toto){
      $toto+=2;
    }
    echo $toto; //retourne 4

  9. #9
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    haaaaa ok

    heu c'est pas :

    $toto=2;

    function test(&$toto){
    &$toto+=2;
    }
    echo $toto; //retourne 4


    même si pour cette fonction c'est d'aucune utilité je prend j'ai d'autre fonction de calcul alors deja que j'ai plein de variables dans mon prog alors si je peut virer tte celle des fonctions mon programme va etre plus light

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : Pays-Bas

    Informations forums :
    Inscription : Décembre 2005
    Messages : 186
    Points : 133
    Points
    133
    Par défaut
    non non c est bien comme je l avais mis (c est juste que bien evidement il faut appeler la fonction pour que la variable soit modifiée, ce que je n'avias pas fait) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $toto=2; 
     
    function test(&$toto){ 
    $toto+=2; 
    }
    test($toto); 
    echo $toto; //retourne 4

  11. #11
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    ok ben merci

    si vous avez d'autres suggestions hésitez pas

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimisation de fonction
    Par Giansolo dans le forum Mathématiques
    Réponses: 7
    Dernier message: 30/04/2007, 21h27
  2. Optimisation des fonctions?
    Par JauB dans le forum DB2
    Réponses: 5
    Dernier message: 31/01/2007, 21h47
  3. Optimiser une fonction (trouver le minimum)
    Par Noel Gallagher dans le forum C
    Réponses: 2
    Dernier message: 27/11/2006, 07h46
  4. probleme d'optimisation de fonction
    Par franc82 dans le forum C++
    Réponses: 3
    Dernier message: 31/10/2006, 10h45
  5. Optimisation de fonction
    Par Elendhil dans le forum Assembleur
    Réponses: 2
    Dernier message: 19/06/2006, 16h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo