0

ループステートメントを使用して、不確定な量の名前を変数値に入れようとしています:

while ($row = mysql_fetch_row($resultdq2))
    {
        $name[$i] = $row[2];
        $parent_ID = $row[1];
        $i++;
    }   

次に、次の構造を使用して名前をエコーし​​ようとしています/

$x = 0;
while (isset ($name[$x]))
echo $name[$x];
$x++;

唯一の問題は、この 2 番目のループ構造が PC のオンロードをフリーズさせることです。したがって、無限にループしていると想定しています。

なぜそれはそのようなことをしているのですか?$x$iが同じ値 (つまり 7)であると仮定すると、$name[$x]name[$i]は等しいはずですが、それは正しくありませんか?

次に$name[$x]、2 番目のループの条件が割り当てられた変数のポイントを通過したら、ループを終了するべきではありませんか?

$x = 0ループステートメントの条件について、条件が満たされているかどうかを評価するために内部値の代わりにグローバル変数宣言を使用している$xため、ステートメントは常に真である可能性はありますか?

問題は何ですか?どうすれば修正できますか?

4

2 に答える 2

8

'{' と '}' を追加してカウンターを増やしてみませんか?

while (isset ($name[$x])) {
  echo $name[$x];
  $x++;
}

より良い使用foreach、チェックを追加してis_arrayください。素敵なコードを書いてください!

于 2012-10-23T11:06:19.057 に答える