而循环内部的循环并没有显示所有结果,只显示了1


while loop inside for loop is not showing all results but only 1

我有这两个代码应该做同样的事情,但echo完全不同,我不知道为什么。第1个代码

<?php
    $runs = 10000;
    $start = microtime(true);
    for ($x = 0; $x < $runs; $x++) {
        for($i=1;$i<1001;$i++) echo $i%15?$i%5?$i%3?$i:'koukou':'roukou':'koukouroukou'," ";
    }
    $end = microtime(true);
    $elapsed = number_format($end - $start, 4);
    $one = number_format(($end - $start) / 500, 7);
    echo "$runs runs in $elapsed seconds, average of $one seconds per call";
?>

第二代码

<?php
    $runs = 10000;
    $start = microtime(true);
    for ($x = 0; $x < $runs; $x++) {
        while(++$i<1001)echo$i%15?$i%5?$i%3?$i:'koukou':'roukou':'koukouroukou'," ";
    }
    $end = microtime(true);
    $elapsed = number_format($end - $start, 4);
    $one = number_format(($end - $start) / 500, 7);
    echo "$runs runs in $elapsed seconds, average of $one seconds per call";
?>

为什么我得到不同的回声结果?

 for ($x = 0; $x < $runs; $x++) {
        while(++$i<1001)echo$i%15?$i%5?$i%3?$i:'koukou':'roukou':'koukouroukou'," ";
 }

应该是

 for ($x = 0; $x < $runs; $x++) {
    $i=0;
        while(++$i<1001)echo$i%15?$i%5?$i%3?$i:'koukou':'roukou':'koukouroukou'," ";
 }