Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';在PHP中实现powers的一种简单方法是什么?_Php_Math_Equations - Fatal编程技术网

什么';在PHP中实现powers的一种简单方法是什么?

什么';在PHP中实现powers的一种简单方法是什么?,php,math,equations,Php,Math,Equations,我正试着写一个脚本来帮助我学习数学 示例公式:y=(4*(x*2)^(2x+4))+4*x^2 为了让它起作用,我只需要它明白,只有(x*2)需要被赋予(2x+4)的力量,然后再将其分解回原始方程,当然,你只需要eval()一个答案 我想计算y的值,当我知道x值时。如果没有权力,这将相对容易。我就是不知道该怎么做 我知道您可以使用pow(),但我正在尝试制作一个脚本来处理任何等式。所以它需要理解语法 对此有什么建议吗 尝试实现一个新的。(链接的例子是C++,但应该给出你的想法。你可以添加能力来解

我正试着写一个脚本来帮助我学习数学

示例公式:
y=(4*(x*2)^(2x+4))+4*x^2

为了让它起作用,我只需要它明白,只有
(x*2)
需要被赋予
(2x+4)
的力量,然后再将其分解回原始方程,当然,你只需要
eval()
一个答案

我想计算y的值,当我知道x值时。如果没有权力,这将相对容易。我就是不知道该怎么做

我知道您可以使用
pow()
,但我正在尝试制作一个脚本来处理任何等式。所以它需要理解语法

对此有什么建议吗

尝试实现一个新的。(链接的例子是C++,但应该给出你的想法。你可以添加能力来解析^的权力。) 这会让你朝着你想要的方向走一段路。否则,如果函数类型变得太复杂,您可能需要一个完整的符号数学包。

尝试实现一个。(链接的例子是C++,但应该给出你的想法。你可以添加能力来解析^的权力。)
这会让你朝着你想要的方向走一段路。否则,如果函数类型变得太复杂,您可能需要一个完整的符号数学包。

此外,您绝对不应该使用eval()来允许用户计算数值表达式。这是一场即将发生的灾难。

此外,您绝对不应该使用eval()来允许用户计算数值表达式。这是一场即将发生的灾难。

我曾经犯过一个错误

  • 它解析计算结果,并将每个数字和运算符放在堆栈中
  • 它通过在堆栈上执行所有操作来计算结果
我曾经做过一次尝试

  • 它解析计算结果,并将每个数字和运算符放在堆栈中
  • 它通过在堆栈上执行所有操作来计算结果

对于Sjoerd的答案所描述的用于计算公式的本机PHP沙盒,请查看phpClass上的类。

对于Sjoerd的答案所描述的用于计算公式的本机PHP沙盒,请查看phpClass上的类。

我不确定是否理解这个问题。你能解释一下为什么使用pow()不能解决这个问题吗?你是想在PHP中计算一个幂,还是想解析一个遵循运算顺序的数学表达式?pow()确实解决了我的问题,这只是一个解决如何实现它的例子,因为你可能有多个幂。例如:y=((4x)^2)^(4x^2)等。我不确定我是否理解这个问题。你能解释一下为什么使用pow()不能解决这个问题吗?你是想在PHP中计算一个幂,还是想解析一个遵循运算顺序的数学表达式?pow()确实解决了我的问题,这只是一个解决如何实现它的例子,因为你可能有多个幂。例如:y=((4x)^2)^(4x^2)等。当别人的作品免费提供给像你这样需要做同样事情的人时,只要你给予他们应有的信任(并履行任何许可条款),使用别人的作品是没有欺诈的。。。这就是为什么迈尔斯·考夫曼(Miles Kaufmann)在PHPClasses上发布了evalMath。当其他人的作品免费提供给像你这样需要做同样事情的人时,只要你给予他们应有的信任(并履行任何许可条款),他们就不会作弊。。。这就是迈尔斯·考夫曼在PHPClasses上发布evalMath的原因