出于某种原因,如果我使用像++这样的简单计数器,这可以正常使用+3无限重复代码。
{{1}}
答案 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" ));
}