我只是让缓冲区溢出了吗?

时间:2013-07-16 08:23:33

标签: php for-loop foreach buffer-overflow

我正在学习PHP的循环,因为我做了FOR循环,似乎我搞砸了。 基本上,这件事发生了:

    for($i = 2; $i++; $i < 26) {
   print $i;
  }

我通过最后添加$ i ++来修复它。但我的问题是:这是缓冲区溢出吗? 它超过10000

4 个答案:

答案 0 :(得分:8)

不,它只是一个无限循环。什么都没有为任何东西增添记忆力,所以没有任何东西可以溢出。它将永远不会停止运行,这就是全部。

答案 1 :(得分:3)

错误的方式:

for($i = 2; $i < 26; $i++) {
   print $i;
}

PHP for loop的工作原理如下:

for(<initialization>; <condition>; <iteration>) {

}

您可以在这些字段中放置任何内容,但为了使其正常工作,您需要了解PHP正在使用它们。

$ i = 2;这是初始化,您正在准备incremental variable

$ i&lt; 26;这就是条件,while $i is less than 26

$ I ++;迭代。 after each turn of the loop, add到$ i`。

当$ i等于25时,循环将结束。

答案 2 :(得分:2)

应该是......

for($i = 2;  $i < 26; $i++) {
  print $i;
}

请参阅手册http://php.net/manual/en/control-structures.for.php

答案 3 :(得分:1)

我认为这是一个无限循环。无论你在第二个位置放置什么,都表示条件直到循环继续迭代。因为你总能将$​​ i增加一,所以条件总是正确的,因此你最终会永远迭代。