for循环仅执行一次

时间:2019-04-22 10:29:03

标签: php

我以这种方式动态创建了一个数组

$names = array();
for ($i = 0; $i < 100; $i++) {
    $names[] = $i;
}

然后创建了零件

 $parts = count($names) / 20;

并创建一个子数组,然后遍历各个部分

$j = 0;

for ($i = 0; $i < $parts; $i++) {
    echo "Part" . $i."<br>";
    $newarray = array_slice($names, $j, 20);
    for ($i = 0; $i < count($newarray); $i++) {
        echo $i;
    }
    $j = $j + 20;
}

问题是此代码显示从零到19,不显示其他部分

1 个答案:

答案 0 :(得分:2)

内部循环和外部循环都使用相同的控制变量$i,因此只需更改内部循环...

$j = 0;

for ($i = 0; $i < $parts; $i++) {
    echo "Part" . $i."<br>";
    $newarray = array_slice($names, $j, 20);
    for ($i1 = 0; $i1 < count($newarray); $i1++) {
        echo $i1;
    }
    $j = $j + 20;
}