为什么这个for循环无限重复

时间:2017-05-01 15:17:06

标签: php for-loop web

出于某种原因,如果我使用像++这样的简单计数器,这可以正常使用+3无限重复代码。

{{1}}

6 个答案:

答案 0 :(得分:2)

$i + 3确实做了什么。它只是一个声明,不会将$i + 3的值分配给$i。因此$i在每次循环迭代时将等于1。所以它永远不会大于或等于10.

在循环的每次迭代中,您需要使用+=$i的值加3。

for( $i = 1; $i<10; $i += 3 ) {

答案 1 :(得分:1)

for循环语句由3部分组成:

  • 初始化
  • 循环条件
  • 迭代更改

循环更改部分中语句的问题在于此语句实际上并未更改循环变量(在您的情况下为$i)。

您必须将新值分配给循环变量 即像这样:

for (...;...; $i = $i + 3)

for (...;...; $i += 3)

答案 2 :(得分:1)

使用for( $i = 1; $i<10; $i = $i+3 )for( $i = 1; $i<10; $i+=3 ),以便将新值保存回变量

答案 3 :(得分:0)

尝试使用:

for( $i = 1; $i<10; $i += 3 ) {

echo cl_image_tag("property".$i.".jpg", array( "alt" => "Sample Image" ));

                    }

答案 4 :(得分:0)

原因是代码$i + 3与每次迭代一样,$i默认为1$i + 3使其成为4。因此,$i的最高值将始终为4,然后再次返回1。相反,您需要保存它,以便循环将在每次迭代后递增它,如:

for( $i = 1; $i<10; $i = $i + 3 ) { }

答案 5 :(得分:0)

你只是将$ i值增加3,但不保存它。

for( $i = 1; $i<10; $i=$i + 3 ) {
     echo cl_image_tag("property".$i.".jpg", array( "alt" => "Sample Image" ));
}