32b*_*oat 0 php for-loop increment
这可能是一个滑稽的"问题",但我只是没有看到这种行为的原因.
事实:
$i++;
Run Code Online (Sandbox Code Playgroud)
返回当前值,然后将$ i递增1.
++$i;
Run Code Online (Sandbox Code Playgroud)
将$ i递增1然后返回$ i.
情况:
for($i = 0; $i < 10; ++$i){
echo $i."\n";
}
Run Code Online (Sandbox Code Playgroud)
给
0
1
2
3
4
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)
第二:
for($i = 0; $i < 10; $i++){
echo $i."\n";
}
Run Code Online (Sandbox Code Playgroud)
也给了
0
1
2
3
4
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)
如果我按字面意思获取增量的文档,我会解释循环如下:
事实并非如此.有人可以解释一下,为什么?
$i
没有被退回,它被使用(由你).很大的区别.
如果您要重写if
语句而不是使用while
循环,那么您将拥有以下内容:
后增量:
$i = 0;
while ( $i < 10 ) {
echo $i."\n";
$i++;
}
Run Code Online (Sandbox Code Playgroud)
预增:
$i = 0;
while ( $i < 10 ) {
echo $i."\n";
++$i;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,两者之间没有区别.
以下是您为for循环提供的3个语句的用途:
在任何方面都不会以任何方式使用第三个语句的返回值.
PS如上所述,第三个语句在每个循环之后运行,包括最后一个循环.通过$i
在循环完成后访问变量,这一点很明显:
for ($i = 0; $i < 10; $i++) {
echo $i."\n";
}
echo $i;
Run Code Online (Sandbox Code Playgroud)
这将列出所有数字,包括 10.
请在此处查看:http://viper-7.com/Y6N2jU