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 :

conversion chaine -> nombre


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut conversion chaine -> nombre
    Bonjour,
    Voila mon probleme : j'ai une chaine de caracteres, par exemple "30+5-1" et je voudrais pouvoir afficher le resultat calculer par la chaine, donc ici 34.
    Merci de vos réponses.

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $machaine = "30 + 4 - 1";
     
    eval("echo $machaine;");
    ?>

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Merci pour cette réponse mais en faite je me suis mal exprimé, en faite je voudrai stocker cette valeur dans une variable.

  4. #4
    Membre éclairé Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $machaine = "30 + 4 - 1";
     
    $fauttoutvousdire = eval("echo $machaine;");
    ?>

  5. #5
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Citation Envoyé par Linio Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $machaine = "30 + 4 - 1";
     
    $fauttoutvousdire = eval("echo $machaine;");
    ?>
    Pourtant ca ne marche pas du tout ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $machaine = "30 + 4 - 1";
     
    $fauttoutvousdire = eval("echo $machaine;");
     
    echo "Ma valeur vaut donc : $fauttoutvousdire";
    ?>
    donne :
    33Ma valeur vaut donc :

  6. #6
    Membre éclairé Avatar de Linio
    Inscrit en
    Octobre 2005
    Messages
    431
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 431
    Par défaut


    J'ai oublié d'enlever le echo.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $maval = eval($machaine);

  7. #7
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Ce code ne marche toujours pas chez moi... l'as tu testé?

    Une solution testée et qui fonctionne est d'utiliser les fonctions de gestion des sorties ob_*()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $machaine = "30 + 4 - 1";
     
    ob_start();
    eval("echo $machaine;");
     
    $resultat = ob_get_contents();
    ob_end_clean();
    echo "Ma valeur vaut donc : $resultat";
    ?>

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $machaine = "30 + 4 - 1";
    eval("\$resultat = $machaine;");
    echo $resultat;
    Nul besoin de bufferisation

    (attention à ne pas évaluer n'importe quoi)

  9. #9
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Merci pour cette reponse, cela fonctionne bien. Le seul probleme c'est que je doit utiliser cela dans une page de creation de pdf. Donc le probleme c'est qu'a la fonction eval() j'ai une erreur qui me dit que les headers ont deja été envoyés et donc il cherche a m'interpreter la page au lieu de l'afficher en pdf...

  10. #10
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 19
    Par défaut
    Merci julp en faite ta solution fonctionne parfaitement, aucun probleme avec les header.
    Merci

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

Discussions similaires

  1. conversion d'un nombre binaire en chaine
    Par etudiante-m dans le forum Débuter
    Réponses: 2
    Dernier message: 25/02/2012, 00h33
  2. Réponses: 4
    Dernier message: 15/11/2011, 16h43
  3. conversion d'un nombre en une chaine de caracteres
    Par solitaire2010 dans le forum Débuter
    Réponses: 3
    Dernier message: 25/12/2010, 18h36
  4. Conversion chaine de caractères en nombre décimal
    Par lodan dans le forum Langage
    Réponses: 3
    Dernier message: 02/04/2009, 19h11
  5. [Conversion chaine en nombre]
    Par tesla dans le forum Oracle
    Réponses: 2
    Dernier message: 06/11/2006, 17h28

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