【问题标题】:PHP Calculating Cube Root x^(1/3) Doesn't Work [closed]PHP计算立方根x^(1/3)不起作用[关闭]
【发布时间】:2016-12-17 01:02:11
【问题描述】:

我知道有相当强大的 PHP 数学包,但我想要做的并不是那么复杂。我正在寻找计算数字的立方根。求解 x in (x^3 = 100) 通常需要 echo 100^(1/3)。在 PHP 中运行此代码既不会返回错误,也不会返回正确的数字。

【问题讨论】:

  • 您为什么要编写并立即回答 PHP 手册中的琐碎问题?网站计时器建议您在发布问题后的几秒钟内发布答案。
  • 我不认为这是微不足道的。我使用 ^ 运算符编写了代码,但有一段时间我没有意识到我的计算已经关闭。此外,当我搜索时,我没有找到我期望的快速解决方案。我想现在会有。
  • 我实际上什至没有这样做。我问了一个问题并选择了“回答我自己的问题”。只是想添加到社区中。
  • 我不知道使用^ 运算符求幂的任何语言。
  • 如果你想帮助用户,你应该把问题写得更清楚。一个更有用的公式是“我如何在 PHP 中计算 x 的 y 次方?”。几乎没有人会根据要求立方根的问题标题来到这里。正如其他人所说,自我回答很好,但问题必须有用地表达出来。

标签: php math


【解决方案1】:

^ 字符在 PHP 中是 XORbitwise operator

要执行幂运算(指数),您应该查看 PHP 定义的 pow() 方法。要将它与您的示例代码一起使用,它将是:

echo pow(100, 1/3);

Starting in PHP 5.6,他们也引入了幂运算符,**

echo 100 ** (1/3);

【讨论】:

  • 感谢您解释 ^ 是位运算符。真正有用的答案。比仅仅发布解决方案要好得多。
  • 在将此方法与 floor 结合使用时要小心:这不起作用:floor( pow( 10648, 1/3)) 返回 21 而不是 22。
【解决方案2】:

100^(1/3) 的 PHP 语法为:

echo pow(100,1/3);

返回将是:

4.6415888336128

了解powerexp 的强大功能。

【讨论】:

  • @danL:这是actuallyencouragedon Stack Overflow。绝对没有错。
  • 我很快就找到了答案,但在 Stackoverflow 上没有看到问题。为什么有一个选项可以回答您自己的问题同时提出问题.. 有点臭我试图做一些对社区有帮助的事情,但我得到了 -1。
  • @danL: (续) 这是因为,与现在每天不断出现的本地化问题相反,这不是一些“论坛”或“留言板” “通过众包解决您的临时个人问题——这是一个编程问答。问题及其答案的数据库。
  • @JustinPfister 你可能被否决了,因为你可以通过谷歌快速搜索“php exponents”找到函数 pow()。但与此同时,这个网站上的很多人只是对任何事情投反对票,所以不要担心。另一方面,我很乐观,所以这里有一个让你有宾至如归的感觉的投票。 :)
  • @LightnessRacesinOrbit 我明白,当他问这个问题时,我只是对他如何不知道 pow() 函数感到困惑,但现在他正在给出答案。我知道你可以回答你自己的问题,因为当你发布一个选项时,这是一个选项,但我不明白为什么他不只是在他的第一篇帖子中回答这个问题,而是为他自己的问题写一个单独的答案。希望这是有道理的。
【解决方案3】:

帽子符号^ 不是PHP 中的幂运算符;它是一个 XOR 运算符。

因此$x^$y 是有效的 PHP,但会给你一个布尔结果,而不是 X 的 Y 次幂。

此处手动参考:http://php.net/manual/en/language.operators.bitwise.php

如果你想在 PHP 中做 power of,你需要使用pow() function

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-30
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    相关资源
    最近更新 更多