Похоже, что следующее из PHP manual regarding for
loops неверно.Являются ли C для циклов, отличных от PHP для циклов?
Они ведут себя как их коллеги C.
Это мое понимание for
петель.
В C
for (i = foo; i < 10; i++) { /* body */ }
эквивалентно
if (i = foo)
{ while (i < 10)
{ /* body */
i++;
}
}
В PHP сопоставимый петли
for ($i = $foo; $i < 10; $i++) { /* body */ }
становится
$i = $foo;
while ($i < 10)
{ /* body */
$i++;
}
Разница заключается в том, что в PHP $i = $foo
не является условием, а скорее удобное место для заявления. Предположим, мы сменим один =
на ==
. Различие становится значительным. Это верно? Если это так, то петли PHP и C ведут себя по-другому, а руководство неверно, правильно?
Я думаю, что ваше понимание цикла C не так. AFAIK оба языка ведут себя как ваш последний пример кода. – DaveRandom
¿if (i = foo)? – Sirs
Удивительно, как долго может зависеть неправильное представление. Я всегда думал, что выражение init является условием, и люди всегда ставят там назначение, которое будет оцениваться как true. – htoip