for

for 循环是 PHP 中最复杂的循环结构。第一个表达式在循环开始前无条件求值(并执行)一次。第二个表达式在每次循环开始前求值。如果值为 true ,则继续循环,执行嵌套的循环语句。如果值为 false ,则终止循环。第三个表达式在每次循环之后被求值(并执行)。

<?php

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

第二个表达式为空意味着将无限循环下去。

<?php

for ($i = 1;; $i++) {
    if ($i > 10) {
        break;
    }
}

每个表达式都可以为空。

<?php

$i = 1;
for (;;) {
    if ($i > 10) {
        break;
    }
    $i++;
}

每个表达式都可以包括逗号分隔的多个表达式。第二个表达式中,所有用逗号分隔的表达式都会计算,但只取最后一个结果。

<?php

for ($i = 1, $j = 0; $j == 0, $i < 10; $j += $i, print $i, $i++) {
    //
}
// 123456789

由于数组的长度始终不变,可以用一个中间变量来储存数组长度以优化而不是不停调用 count()

<?php

$foo = [2, 4, 5];
for ($i = 0, $count = count($foo); $i < $count; $i++) {
    $foo[$i] = mt_rand();
}

results matching ""

    No results matching ""