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 :

Construire une fonction [Débutant(e)]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut Construire une fonction
    B'jour!

    Bien qu'ayant jeté un oeil à la FAQ et à différentes pages de mon ami Google, je ne parviens pas à trouver la solution de mon problème.

    La fonction est totalement stupide car je l'ai diminuée au possible pour vous faire part de mon problème.

    Donc voilà, en gros j'aimerai bien pouvoir afficher la valeur de $timestamp_augmentation1992 ... (oui... je sais.... ça ne sert à rien, mais c'est pour le principe :p)

    voilà mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <?php
     
     
     
    function annee1992($cigarette_par_jour) {
    		$timestamp_augmentation1992 = 22986000;
    }
     
     
    $cigarette_par_jour = 8;
     
    //appel de la fonction:
     
    annee1992($cigarette_par_jour);
    echo $timestamp_augmentation1992;
    ?>

    Je ne doute pas une seconde qu'il puisse il y avoir de grosses erreurs mais je ne vois pas où.

    Je vous remercie de me faire avancer

    David

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Par défaut
    oulà !! Tu ne dois pas avoir bien compris le principe d'une fonction.

    Dans ta fonction tu dois / peux retourner une valeurs. Dans ton cas tu dois retourner la valeur souhaitée sinon ton echo ne fonctionneras pas.

    Voici ton code un peu plus propre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    function annee1992($cigarette_par_jour) {
            $timestamp_augmentation1992 = 22986000;
            return $timestamp_augmentation1992;
    }
     
    echo annee1992(8);
    ?>
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut
    Merci de ta réponse.

    Cependant le but de mon code était de faire, d'un coté, la fonction, et juste en dessous, d'appeler cette fonction, comme si cet appel avait pu être sur une autre page.

    J'avais oublié le return dans le code que j'ai posté, c'est sur, mais à part ça je ne vois pas pourquoi ça ne fonctionne pas...

    Merci

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut
    Hum, j'ai bien analysé ta réponse et j'admets que c'est beaucoup mieux que ce que je proposais (évidement, ça ne fonctionnait pas mon truc :p).

    Le echo que tu proposes me convient désormais tout à fait.
    Mais pourquoi ne peut-on pas faire directement un echo de $timestamp_augmentation1992 sans passer par un return? Une question de visibilité des variables?

    Merci encore

  5. #5
    Membre émérite Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Par défaut
    Hello,

    Ce qu'il faut bien comprendre, c'est que les variables qui sont dans une fonction reste dans la fonction. Sauf si tu utilises du global pour signaler que la portée de la variable s'applique a tout le script.
    Je vais tenter de corriger ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php       
    function annee1992($cigarette_par_jour) {  
    $timestamp_augmentation1992 = 22986000; 
    return($timestamp_augmentation1992);
    }   
     
    $cigarette_par_jour = 8;   
    $monresultat = annee1992($cigarette_par_jour); 
    echo $monresultat;
     
     ?>
    Comme ceci cela devrait fonctionner.
    En gros tu appelles la fonction annee1992 et tu lui dis de mettre le résultat dans $monresultat. Ensuite tu affiches $monresultat

    @+
    cadou

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut
    D'accord, dans mon cas on est obligé de mettre le résultat dans une variable pour pouvoir s'en servir comme je le souhaitais.

    C'est noté, merci beaucoup des réponses

    A bientôt!

    David

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

Discussions similaires

  1. Construire une érosion à partir de la fonction distance
    Par arkerone dans le forum Traitement d'images
    Réponses: 4
    Dernier message: 05/12/2011, 20h24
  2. Construire puis utiliser la version C d'une fonction faite en Python
    Par rambc dans le forum Interfaçage autre langage
    Réponses: 16
    Dernier message: 13/12/2009, 20h08
  3. Réponses: 28
    Dernier message: 02/09/2008, 13h54
  4. Construire une fonction javacript dynamiquement
    Par jgfa9 dans le forum Struts 1
    Réponses: 1
    Dernier message: 16/05/2007, 10h02
  5. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14

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