将JavaScript for循环转换为php

将JavaScript for循环转换为php,javascript,php,for-loop,Javascript,Php,For Loop,我是一个php高手,似乎无法破解以下问题; 我有以下javascript for循环: function cz(accuracy) { for (var n = 10, o = 2; 320 * n > accuracy; ) n /= 2, o++; return Math.min(16, o) } 并希望将此循环转换为php。 我做到了这一点,但它没有发挥应有的作用: function calcZoom($accuracy) { for ($n = 10,

我是一个php高手,似乎无法破解以下问题; 我有以下javascript for循环:

function cz(accuracy) {
 for (var n = 10, o = 2; 320 * n > accuracy; )
   n /= 2,
   o++;
   return Math.min(16, o)
 }
并希望将此循环转换为php。 我做到了这一点,但它没有发挥应有的作用:

function calcZoom($accuracy) {
  for ($n = 10, $o = 2; $n * 320 > $accuracy; ) {
    $n / 2;
    $o++;
  }
  return min(16, $o);
}

在PHP版本的脚本中,您似乎遗漏了赋值运算符

包含所做更改的代码片段

function calcZoom($accuracy) {
  for ($n = 10, $o = 2; $n * 320 > $accuracy; ) {
    $n /= 2;
    $o++;
  }
  return min(16, $o);
}
代码演练:

因为语句是
$n/2
,所以变量的值没有改变


将其更改为
$n/=2
将值分配给变量,从而解决了您的问题。

您需要说明您期望它做什么,以及它实际在做什么。话虽如此,我认为您的意思是
$n/=2
。投票以打字错误结束。
$n/2未分配给任何对象。你在发帖前重新检查过吗?它显然不同于JS代码,你认为它应该是什么意思?你期望得到什么,作为输出得到什么?(第一个用户提供的注释)我并没有投反对票,但你们真的应该投票来结束这一切。假设OP编写了JS代码,他们必须理解复合赋值。这可能只是一个输入错误,即使不是,这已经被覆盖了一千次了。@Carcigenicate我对SO是新手,不知道投票结束选项。我也没有特权否决一个问题。根据社区规则(),我试图在回答部分回答一个问题,而不是在评论部分讨论同样的问题。我不确定为什么会有人想否决这个问题。可能是因为这个答案没有必要,因为这个问题可能很快就要结束了。鉴于其他人已经指出这只是一个打字错误,没有必要发表评论。我认为你的答案不一定值得投否决票,但要确保你回答的问题都是好问题。这里有很多人问的是坏问题。当提问者本来可以/应该做适当的研究时,你不值得花时间回答所有问题。@Carcigenicate我理解,是的,你是对的。当然,我会确保回答好的问题,谢谢你。