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 :

[Tableaux] Retour d'une variable dans une fonction


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 43
    Points : 42
    Points
    42
    Par défaut [Tableaux] Retour d'une variable dans une fonction
    Bonjour,

    j'ai un petit souci : je ne suis jamais arrivé à ressortir une variable d'une fonction. J'ai placé le return à plusisurs endroits mais rien à faire.

    Voici 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
    17
    18
    19
    20
    21
     
    <?
    $birthday = "1989-05-30";
    function verifier_age($birthday) {
    $annee_de_majorite = date("Y")-18;
    $mois_jour_de_majorite = date("m-d");
    $date_de_majorite = array($annee_de_majorite , $mois_jour_de_majorite);
    $date_de_majorite = implode("-", $date_de_majorite);
    if ($date_de_majorite >= $birthday) {
    $majeur = 1;
    } else {
    $majeur = 0;
    echo '<script language="javascript">alert("vous n\'etes pas majeur !")</script>';
     }
    return $majeur;
    }
     
     
    verifier_age($birthday);
    echo $majeur;
    ?>
    echo $majeur ne s'affiche pas hors de la fonction mais s'affiche bien s'il est placé dans la fonction.

    Merci de votre aide

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $resultat = verifier_age($birthday);
    echo $resultat;
    Le nom de variable $majeur est local au corps de la fonction. Ce n'est pas une variable globale. Le code que je t'ai indiqué est la méthode qui permet de récupérer la valeur de retour d'une fonction.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 43
    Points : 42
    Points
    42
    Par défaut
    Merci, ça marche beaucoup mieux comme ça

    Donc le return $majeur dans la fonction ne sert à rien ?

  4. #4
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Will Fou
    Merci, ça marche beaucoup mieux comme ça

    Donc le return $majeur dans la fonction ne sert à rien ?
    ah si, le return dit à PHP quelle est la valeur de retour de la fonction. Mais le nom de la variable, $majeur, n'est pas transmis. Uniquement sa valeur (que l'on peut récupérer dans une variable ou utiliser directement.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 43
    Points : 42
    Points
    42
    Par défaut
    Ok. Et peut-on sortir plusieurs valeurs de retour ? Disons par exemple que dans ce code je veuille ressortir $date_de_majorite en plus $majeur.

  6. #6
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par Will Fou
    Ok. Et peut-on sortir plusieurs valeurs de retour ?
    Non.
    Mais on peut renvoyer un tableau...

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 43
    Points : 42
    Points
    42
    Par défaut
    Merci pour tous ces renseignements

  8. #8
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Et si tu fais un implode avec un autre caractère, par exemple / et donc tu récupères une seule valeur et non un tableau

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/09/2008, 10h41
  2. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  3. Réponses: 4
    Dernier message: 29/01/2008, 11h12
  4. Réponses: 1
    Dernier message: 15/02/2007, 00h24
  5. Mettre une valeur d'une table dans une variable
    Par Raphou96 dans le forum Access
    Réponses: 5
    Dernier message: 06/02/2006, 15h19

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