C for循环与PHP for循环不同吗?

hto*_*oip -2 php c for-loop

看起来关于for循环PHP手册中的以下内容是不正确的.

他们的行为就像他们的C同行一样.

这是我对for循环的理解.
在C
for (i = foo; i < 10; i++) { /* body */ }
中相当于

if ( i = foo )  
{   while (i < 10)  
    {    /* body */
         i++;
    }
}
Run Code Online (Sandbox Code Playgroud)

在PHP中,可比较的循环
for ($i = $foo; $i < 10; $i++) { /* body */ }
变为

$i = $foo;
while ($i < 10)
{   /* body */
    $i++;
}
Run Code Online (Sandbox Code Playgroud)

区别在于PHP $i = $foo不是条件,而是语句的便利位置.假设我们将单个更改===.区别变得很重要.它是否正确?如果是这样,那么PHP和C循环表现不同,手册不正确,对吧?

Set*_*gie 13

它们完全相同,但是你对C的for循环的理解是错误的.它们与PHP中的相同.

 for (x; y; z) { /* body */ }
Run Code Online (Sandbox Code Playgroud)

几乎就像

 x;

 while (y) {
     /* body */
     z;
 }
Run Code Online (Sandbox Code Playgroud)

虽然C forwhileC中的例子因范围和事情而不完全相同.

  • 大声笑@"他们完全一样......"和"它不完全一样......" (2认同)

Nea*_*eal 8

正确的:

if ( i = foo )  //what??
{   while (i < 10)  
    {    /* body */
         i++;
    }
}
Run Code Online (Sandbox Code Playgroud)

C for循环基本上是:

int i = foo; 
while (i < 10)  
 {    /* body */
      i++;
 }
Run Code Online (Sandbox Code Playgroud)