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 :

Interprèter variable pas comme une chaine de caractères


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 27
    Points
    27
    Par défaut Interprèter variable pas comme une chaine de caractères
    Bonjour !

    voilà, je mets des noms de variables dans ma base de données sql, mais malheureusement, quand je les récupère, ben... PHP me les interprête pas =(

    résumons, en gros, j'ai une variable équivalente à :
    $mavariable = '$objet->prix * 3/4 + 12';

    (non, je peux pas retirer mes guillemets simples, parce que c'est sql qui me renvoit ça sous forme de chaine de caractères)

    Comment je peux faire pour que ma variable soit interprêtée ?

    Merci à tous =)

  2. #2
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Bonjour,

    Regarde du coté de la fonction eval()
    Ca devrait être ce que tu cherches

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 27
    Points
    27
    Par défaut
    Ah oui effectivement, merci, il me récupère bien la valeur de $objet-prix; mais, il me fait pas le calcul qui va avec, il ne retourne que le prix :o

    J'vais approfondir un peu !

    Merci =)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 27
    Points
    27
    Par défaut
    Alors, avec objet->prix = 194
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $formule = '$objet->prix * 3/4 + 12';
     
    eval( "\$formule = \"$formule\";" );
     
    echo $formule;
    // renvoie
    //194 * 3/4 + 12
    Mais c'est le résultat qui m'intéresse moi =(

    Pourquoi il me fait que la moitié ?

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 14
    Points : 27
    Points
    27
    Par défaut
    Done !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $formule='$objet->prix*20';
    eval( "\$formule = \"$formule\";" );
    $formule= preg_replace('`([^+\-*=/\(\)\d\^<>&|\.]*)`','',$formule);
    eval("\$formule = $formule;");
    echo$formule;
    //renvoie le bon résultat =D*
    Merci =D

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

Discussions similaires

  1. Assignation de variables à partir d'une chaine de caractères
    Par Yorel2006 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 01/04/2009, 14h58
  2. Réponses: 2
    Dernier message: 29/01/2009, 18h59
  3. Variable utilisée dans une chaine de caractères
    Par cchampion2fr dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/10/2008, 13h46
  4. Réponses: 2
    Dernier message: 02/10/2007, 11h42
  5. Réponses: 2
    Dernier message: 20/07/2007, 16h17

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