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] fonction et valeur de retour : mal codée ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Par défaut [Tableaux] fonction et valeur de retour : mal codée ?
    Bonjour,

    j'ai fais une fonction de test et j'aimerais après avoir exécutée cette dernière pouvoir utiliser ma variable $fa!

    le serveur me dit "undefined variable" !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function test() 
    {
    	$fa = "bla bla";	
     
    	return $fa;
    }  
     
    test();
     
    echo $fa;

  2. #2
    Membre éclairé Avatar de akara
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    299
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 299
    Par défaut
    echo test();

  3. #3
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    Deux solution. Soit tu affecte à une variable le retour de ta fonction :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $fa = test();
     
    echo $fa;

    Soit tu utilises les global :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function test() 
    {
    	global $fa = "bla bla";	
     
    	return $fa;
    }  
     
    test();
     
    echo $fa;

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Faire la différence entre variable locale et Globale.

    dans ton cas $fa est une variable locale, qui n'a d'existence que dans ta fonction, pour arriver à tes fin il faut faire ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function test() 
    {
    	$fa = "bla bla";	
     
    	return $fa;
    }  
     
    $sol = test();
     
    echo $sol;
    Grillé

  5. #5
    Membre éprouvé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Par défaut
    Merci à vous tous pour ces réponses ! ca fonctionne votre code mais si l'on rajoute une boucle foreach et a l'intérieur de cette dernière des conditions IF, cela regenera un seul ou plusieurs return ? Peut-on aussi passer des paramêtres dans cette fonction ?

  6. #6
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    Une fonction ne fera toujours qu'un seul return. Tu peux éventuellement retourné un tableau si tu as plusieurs informations à renvoyer.

    Et tu peux bien sur passer tous les paramètres que tu veux à ta fonction.

  7. #7
    Membre éprouvé Avatar de Dsphinx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2005
    Messages
    1 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 082
    Par défaut
    Merci Asmodean et autres ! Effectivement mnt ca fonctionne... Les 2 solutions proposées sont OK !


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

Discussions similaires

  1. fonction avec valeur de retour
    Par kawther dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 03/07/2009, 11h51
  2. [Tableaux] Fonction tableau valeurs distinctes
    Par sibile dans le forum Langage
    Réponses: 2
    Dernier message: 20/08/2008, 19h41
  3. valeur de retour de la fonction "system" en C
    Par benhoeil dans le forum C
    Réponses: 14
    Dernier message: 16/09/2005, 12h30
  4. fonction operator, valeur de retour
    Par butch dans le forum C++
    Réponses: 21
    Dernier message: 20/09/2004, 11h30
  5. Pourquoi une seule valeur de retour pour les fonctions ?
    Par Bruno75 dans le forum Langages de programmation
    Réponses: 33
    Dernier message: 18/01/2004, 14h58

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