嵌套while循环 - 我做错了什么?

时间:2012-11-26 01:58:49

标签: php arrays while-loop nested

我猜这个问题很简单,但我无法弄清楚我做错了什么。 我有一个嵌套的while循环和两行。 结果应该是:

ManU - Arsenal
Chelsea - Liverpool
ManCity - Everton
Tottenham - Fulham

但我得到的是:

LiverpoolEvertonFulham
ManU - Arsenal
Chelsea - 
ManCity -
Tottenham -

这是代码:

$row1 = array('ManU','Chelsea','ManCity', 'Tottenham');
$row2 = array('Arsenal','Liverpool','Everton', 'Fulham');

    $i = 0;
    $j = 0;

    echo "<table>";
    while($i < count($row1)){
        $a = $row1[$i];
        echo "<tr><td>".$a." - ";
        $i++;

        while($j < count($row2)){
            $b = $row2[$j];
            echo $b."</td></tr>";   
            $j++;
        }
    }
    echo "</table>";

问题是它必须是一个嵌套的while循环,因为实际上我正在使用SQL,这只是问题的简化版本(行而不是db表行),在另一个版本上问题是相同的,我认为这不是SQL问题。请帮忙!

2 个答案:

答案 0 :(得分:1)

您不需要2个循环

while($i < count($row1)){
        echo "<tr><td>".$row1[$i]." - ".$row2[$i]."</td></tr>";
        $i++;
}

答案 1 :(得分:0)

第二次插入reset($row2)。你需要将循环重置为第一个并重新循环。 在mysqli fetch_assoc()中使用data_seek(0)