2016-04-03 9 views
1

の各値を出力Iは、whileループ内にネストこのforeachループを有する:アレイ

foreach ($_SESSION['arrayPoints'] as $value) { 
echo $value; 
} 

これは、以下に示すように、配列、543216に格納されたすべての値を出力するが、foreachループはであるようにIを出力するforeachループ行ごとに別々のアレイ内の各値を必要

TEST DATA- output of the foreach loop shown (543216)

:もう行がなくなるまでループしながら、543216を繰り返します。

したがって、たとえば上記の画像と543216の配列値を使用してください: 最初の行に5を表示し、次に2行目を4、3行目を3、2行目を2行、そう(以下に示すように)。

Dave Jackson |TEXT BOX| |DROP-DOWN| 5 
Bobby Brown |TEXT BOX| |DROP-DOWN| 4 
Daniel Grey |TEXT BOX| |DROP-DOWN| 3 
Richard Green |TEXT BOX| |DROP-DOWN| 2 
David Bolt |TEXT BOX| |DROP-DOWN| 1 
Jason Moore |TEXT BOX| |DROP-DOWN| 6 

どのようにすることができますか?

EDIT:

print_r($_SESSION['arrayPoints']); 

出力:

Array ([0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 [5] => 6) 

-The Whileループ:while ($data = mysqli_fetch_assoc($result)) {、クエリアクションをフェッチします。

- 上記の画像に示されている各行は、配列内の各番号とともに順番に並んでいます。したがって、最初の行= 5、2番目の行= 4など。

ありがとうございます。

+3

これは_what_ whileループにありますか?周囲の関連コードをもっと投稿してください。特に、whileループがクエリーフェッチアクションである場合、 '$ _SESSION ['arrayPoints'] 'の値がwhileループでフェッチされる値にどのように関連しているか教えてください。 –

+0

@MichaelBerkowski私は質問 – SubZero

答えて

1

あなたの現在のコードは、あなたが望むものではないDBからフェッチされた各データのすべての番号を印刷したいと言っています。各データに1つの番号が印刷されます。だからforeachを忘れてください。何が必要です:

$私は(あなたがそれを設定し、インクリメントする必要がある)現在の行をフェッチしている
echo $_SESSION['arrayPoints'][$i]; 

+0

を編集しましたこれは私が行ったことです '$ i = 0; echo $ _SESSION ['arrayPoints'] [$ i]; $ i ++; ' これは、配列に格納されている最初の数値のみを出力します。構文とロジックは正しいですか? – SubZero

+0

ループの前に$ iを初期化する必要があります。そうしないと、毎回0に設定されます。 – rcpinto

+0

私は$ iを初期化する際に問題がありました。 – SubZero