Jump to content
t0ze

soma string "10+2" converter

Recommended Posts

t0ze

Bom dia,

Estou com uma dúvida que não sei s é simples de se resolver.

Tenho um valor que vem da base de dados (varchar) e que neste exemplo será o "10+2"

Tenho esta string $expression = "10+2"

Depois um if

if (($expression) > 10) {
  echo "> 10";
 }else{
  echo "< 10";
 }

Acontece que a validação ali no if não está correcta porque se fizer um echo $expression, não me retorna 12.

Como posso converter este "10+2"

Cumps

Share this post


Link to post
Share on other sites
HappyHippyHippo

simples é, mas a situação é que é do mais estranho.

ter essa string numa base de dados ? para quê ? porque guardar uma string dessas se o objectivo é ter um valor ? mas prontos, tu lá sabes o que andas a fazer e eu não tenho nada haver com isso ...

$expression = "10+2";
eval("\$result = ".$expression.";");
echo $result;

  • Vote 1

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
t0ze

Obrigado Happy,

É isso.

O que é guardado na base de dados é uma expressão por exemplo

val1 + val2

E eu vou ler essa expressão e vou fazer

$expression = $formula_db['formula'];
  $expression = str_replace("val1",$val1, $expression);
  $expression = str_replace("val2",$val2, $expression);

E esses $val1 e $val2 já está definido lá para cima.

Cumps

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.