我正在尝试制作一个脚本来帮助我学习数学
示例方程:y=(4*(x*2)^(2x+4))+4*x^2
为此,我只需要它了解只(x*2)
需要对 的幂次方(2x+4)
,然后将其代入原始方程,当然你可以只是eval()
一个答案。
当我知道 x 值时,我想计算 y 的值。如果不是为了权力,这将相对容易。我只是不知道该怎么做。
我知道你可以使用pow()
,但我正在尝试制作一个脚本来处理任何方程。所以它有点需要理解语法。
有什么建议可以解决这个问题吗?
For a native PHP sandbox for evaluating formulae, which works as Sjoerd's answer describes, take a look at the evalMath class on PHPClasses.
尝试实现一个计算器解析器。(链接的示例是 C++,但这应该会给您这个想法。您可以添加解析 ^ 的功能。)
这将使您朝着您想要的方向迈进。否则,如果您的函数类型开始变得过于复杂,您可能需要一个成熟的符号数学包。
此外,您绝对不应该使用 eval() 来允许用户评估数值表达式。这是一场等待发生的灾难。