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 :

Protection de variable dans une fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Par défaut Protection de variable dans une fonction
    Bonjour à tous,

    Petit problème avec PHP sur lequel je me casse la tête depuis un moment en fouillant dans le manuel.

    Il faut que dans un paramètre de la fonction qui est une chaine de caractère, y inclure une variable qui sera ensuite dans la fonction et qui ne sera affectée qu'une fois dans la fonction, pas avant (lors de l'appel de la fonction par exemple).

    Exemple du problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // La fonction en elle même
    function fct($phrase)
    {
        $mot="Salut";
        print $phrase;
    }
     
    // L'appel de la fonction
    fct("$mot ça $mot va ? $mot");
     
    // Le problème réside ici, de quelle manière écrire $mot pour qu'elle ne s'affecte pas à l'appel mais bien dans le traitement de la fonction ?
     
    // On veut obtenir ceci à l'affichage :
    // Salut ça Salut va ? Salut

    Merci beaucoup

  2. #2
    Membre éclairé Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Par défaut
    Bonsoir,

    Je pense que tu peux te servir de çà en modifiant un peu ta fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mot = 'Salut';
    printf('%s ca %s va ? %s', $mot, $mot, $mot);
    Etant donné que dans l'appel à ta fonction il y a des $mot, je ne pense pas que ce soit dérangeant que ce soit des %s... tout dépend à quoi est destiné cette fonction.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 2
    Par défaut
    Merci beaucoup, c'est une méthode pour laquelle j'aurai pu opté, et tu as été le seul à avoir trouvé une solution ^^

    Mais j'ai finalement fait autrement, à l'appel de ma fonction, au lieu de mettre des $mot je met des __mot__ et ensuite, dans la fonction je remplace tous les __mot__ par la valeur d'une variable qui se trouve dans la fonction avec str_replace();

    Ça fonctionne très bien.

    Merci encore

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

Discussions similaires

  1. Passage de variables dans une fonction
    Par renaud26 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 01/07/2006, 17h49
  2. [Excel]Mettre une variable dans une fonction
    Par soad029 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 14/04/2006, 12h00
  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