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 :

Récupération de variable dans une fonction


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2010
    Messages : 66
    Points : 47
    Points
    47
    Par défaut Récupération de variable dans une fonction
    Bonjour,

    Aidez-moi car j'ai bientôt plus de cheveux, je deviens fou

    Qu'y a-t-il de faux dans ce code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $log			= '';
     
    function addLog($msg) {
    	$log		.= date("d.m.Y H:i")."\t".$msg."\r\n";
    }
     
    addLog($base_01.' successfully backed up');
    En gros je peux tourner dans tous les sens, $log sera toujours vide. Pourtant cela me retourne bien la valeur de $msg

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    function addLog($msg) {
    	echo $msg;
    }
    et ceci s'affiche correctement (avec la date, le tab et le retour à la ligne):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function addLog($msg) {
    	echo date("d.m.Y H:i")."\t".'caca'."\r\n";
    }
    Je ne vois pas pourquoi je peux pas intégrer ma variable dans ma chaine avec la date etc.

    ménerveuh!

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function addLog($msg)
    {
        return date("d.m.Y H:i")."\t".$msg."\r\n";
    }
     
    echo addLog($base_01.' successfully backed up');
    sinon va falloir ajouter un parametre log, tu pourrais sans grace au global mais c'est pas terrible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function addLog($msg, &$log)
    {
    	$log .= date("d.m.Y H:i")."\t".$msg."\r\n";
    	return $log;
    }
     
    addLog('successfully backed up', $log);
    addLog('successfully backed up', $log);
     
    echo $log;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $log = '';
     
    function addLog($msg)
    {
    	global $log;
    	$log .= date("d.m.Y H:i")."\t".$msg."\r\n";
    }
     
    addLog('successfully backed up');
    addLog('successfully backed up');
     
    echo $log;

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2010
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    Ah mais oui ! Un peu honte lol

    Je sais pas pourquoi je réfléchissais comme en C++ et je pensais que $log était une variable globale puisque déclarée hors d'une fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Parfois il vaut mieux rester couché le lundi plutôt que passer toute la semaine à débuguer du code écrit un lundi." :D
    Merci l'ami

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2010
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    J'ai un autre problème lié à ce script.

    EDIT: Nouveau problème, nouveau topic: http://www.developpez.net/.../fichier-se-renomme-modifie-lorsquon-telecharge

  5. #5
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    salut,
    tu dois d'abord déclarer la variable global avant de l'utiliser.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $log			= '';
     
    function addLog($msg) 
    {
         //déclaration de la variable global
         global $log;
         $log		.= date("d.m.Y H:i")."\t".$msg."\r\n";
    }
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2010
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    Oui, c'est tout à fait ce qu'il me fallait merci pour ton aide

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 15/11/2013, 19h08
  2. Réponses: 6
    Dernier message: 30/04/2009, 11h03
  3. [Tableaux] Récuperer variable dans une fonction
    Par amarcil dans le forum Langage
    Réponses: 12
    Dernier message: 12/02/2006, 10h56
  4. Pb de variable dans une fonction :
    Par soad029 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/10/2005, 13h54
  5. [AS2] déclarer des variables dans une fonction
    Par ooyeah dans le forum ActionScript 1 & ActionScript 2
    Réponses: 12
    Dernier message: 02/08/2005, 12h50

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