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 :

eval dans une fonction [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    développeur javascript et PHP en rech d'emploi
    Inscrit en
    Juillet 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur javascript et PHP en rech d'emploi

    Informations forums :
    Inscription : Juillet 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut eval dans une fonction
    quoi qui y a qui cloche t-y donc ?
    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
    22
    23
    24
    25
    26
    27
    28
    function teste_printf($ch,$format, $num, $location){
    	affiche_variable($ch);
    	$format=$format;
    	$num=$num;
    	$location=$location;
    	eval($ch); 
    	echo "<br>\n";
    }
     
    $num = 5;
    $location = 'bananier';
     
    $format = 'Il y a %d singes dans le %s';
    printf($format, $num, $location);
    echo "<br>\n";
    sprintf($format, $num, $location);
    echo "<br>\n";
    printf($format, $num, $location);
    echo "<br>\n";
    sprintf($format, $num, $location);
    echo "<br>\n";
    $format= 'The %2$s contains %1$04d monkeys';
    printf($format, $num, $location);
    echo "<br>\n";
     
    teste_printf("printf($format, $num, $location);",$format, $num, $location);
    teste_printf("printf('Il y a %d singes dans le %s', 5, 'arbre');",$format, $num, $location);
    echo "<br>\n";
    et je vois s'afficher ceci :
    Il y a 5 singes dans le bananier

    Il y a 5 singes dans le bananier

    The bananier contains 0005 monkeys
    'printf(The %2$s contains %1$04d monkeys, 5, bananier);'

    Parse error: syntax error, unexpected T_VARIABLE in C:\Program Files\EasyPHP-5.3.5.0\php\progs_php\essai_chaines_8.php(60) : eval()'d code on line 1

    'printf('Il y a %d singes dans le %s', 5, 'arbre');'
    Il y a 5 singes dans le arbre

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2009
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2009
    Messages : 351
    Points : 342
    Points
    342
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $format=$format;
    	$num=$num;
    	$location=$location;
    C'est quoi l’intérêt du code ci-dessus ? ... Je pense que tu peux le supprimer.

    Sinon, pour ton problème, remplace les doubles cotes par des simples dans l'expression suivante pour que les variables ne soient pas interprétées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    teste_printf("printf($format, $num, $location);",$format, $num, $location);
    à remplacer par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    teste_printf('printf($format, $num, $location);',$format, $num, $location);

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    développeur javascript et PHP en rech d'emploi
    Inscrit en
    Juillet 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : développeur javascript et PHP en rech d'emploi

    Informations forums :
    Inscription : Juillet 2011
    Messages : 85
    Points : 38
    Points
    38
    Par défaut bon sang mais c'est bien sur !!!
    ok, c'est ça.

    PS : les variables en argument, c'était justement parce que je me disais qu'il y avait un blM du côté des variables/de l'interprétation.

    Merci !!!

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

Discussions similaires

  1. [PHP 5.3] eval et strrpos dans une fonction
    Par michelg77 dans le forum Langage
    Réponses: 52
    Dernier message: 12/03/2012, 15h00
  2. Transmission d'un objet crée dans une fonction
    Par EvilAngel dans le forum ASP
    Réponses: 2
    Dernier message: 10/05/2004, 20h19
  3. Utilisez MinimizeName() dans une fonction
    Par James_ dans le forum C++Builder
    Réponses: 7
    Dernier message: 07/05/2004, 18h05
  4. [Postgresql]Connecter à une autre base dans une fonction
    Par alex2205 dans le forum Requêtes
    Réponses: 2
    Dernier message: 05/05/2003, 11h30
  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