簡體   English   中英

嵌套 while 循環 - 我做錯了什么?

[英]nested while loop - what I'm doing wrong?

我想這個問題很簡單,但我無法弄清楚我做錯了什么。 我有一個嵌套的 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個循環

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

在第二個 while 之后插入reset($row2) 您需要將循環重置為第一個並再次循環。 mysqli fetch_assoc()使用data_seek(0)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM