viernes, 8 de mayo de 2015

PHP Evaluar una expresión matemática (fórmula) almacenada en un string

En ocasiones hay datos almacenados en algún string con fórmulas que deseamos ejecutar en php, por ejemplo 2+4*6.  Una solución es recorrer el string caracter por caracter para comparar operadores, variables y elementos, pero eso nos llevaría un buen rato de programar.

La solución

Usar la función eval()

<?php
//php 4.3
$formula = "2+4*6";
eval(" $var = $formula; ");
echo $var;
?>


<?php
// php 5,6 y 7
$formula = "2+4*6";
$var = eval("return ".$formula.";");
print $var;

?>


Nuestra salida es 26


Así de fácil

4 comentarios: