【问题标题】:For loop inside a function PHP函数PHP内的for循环
【发布时间】:2018-10-05 02:29:50
【问题描述】:

一个普通的菜鸟需要在函数内的 for 循环中进行数学计算。 我最接近的是这个,但它当然不起作用。

    function z1()
{
  for ($x=1; $x<=11; $x++)
  {
    $z1=2/3+5*$x/(3-$x);
  }
  return $z1;
}

任何帮助或解决方案将不胜感激

编辑:已修复 需要声明如果是 NaN 或无穷大怎么办

【问题讨论】:

  • 什么不起作用?预期的结果是什么?
  • 它应该返回 $z1 但它没有返回给我。我不确定结构,可以吗?
  • 结构很好,对我有用(尽管除以零错误)。
  • 你真的调用/执行函数吗?
  • 是的,我执行了它,但我得到了除以零的错误

标签: php loops for-loop math return


【解决方案1】:

不完全确定您要做什么,但我会做一些假设。

除了会出现被零除的错误之外,每次循环执行时,您都会覆盖 $z1 的值,因此,一旦您返回,$z1 的值就是分配给 $z1 的循环的最终迭代。

我认为您可能希望在循环之前初始化变量并在循环内使用 += 运算符,因此每次循环迭代时 $z1 的值都会递增。

function z1() {
    $z1 = 0;

    for ($x = 1; $x <= 11; $x++) {
        $z1 += 2 / 3 + 5 * $x / (3 - $x);
    }
    return $z1;
}

【讨论】:

  • 感谢您的评论,但我得到除以零
  • 是的,你的数学逻辑有问题。一方面,当 $x 变为 3 时,最后一部分 [$x / (3 - $x)] 将尝试除以 0;你需要修改一下。
  • 这不是我的数学逻辑,这是一项家庭作业。无论如何再次感谢
  • 您在问题中说这是您的代码,而我的措辞正是基于此。下次我建议提供更多上下文和/或解释,以便您获得更好的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多