2016-04-03 62 views
1

我有嵌套在while循環中這個foreach循環的每個值:1.4.3在陣列

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

此輸出所有存儲如下所示的陣列,543216中的值,但作爲foreach循環是在while循環中,543216重複,直到沒有更多的行:

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

我需要foreach循環到輸出的每一行分別在陣列中的每個值。因此,例如(使用上面的圖像和543216的數組值): 我需要輸出顯示5爲第一行,然後4爲第二行,3爲第三行,第二行第四行和如此(如下所示)。

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 

這怎麼辦?

編輯:

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,第二行= 4等等。

在此先感謝。

+3

它在_what_'while'循環中?請張貼更多周圍的相關代碼。特別是,如果while循環是查詢獲取動作,請告訴我們'$ _SESSION ['arrayPoints']'中的值與while循環中的值有何關係。 –

+0

@MichaelBerkowski我已經編輯了問題 – SubZero

回答

1

您當前的代碼表示您希望打印每個從數據庫中獲取的數據的每個數字,這不是您想要的。您希望爲每個數據打印一個數字。所以忘記foreach。你需要的是:

echo $_SESSION['arrayPoints'][$i]; 

其中$ i是當前正在取的行(你需要設置和增加它)。

+0

這是我已經完成 '$ i = 0; echo $ _SESSION ['arrayPoints'] [$ i]; $ i ++;' 僅輸出存儲在數組中的第一個數字。我的語法和邏輯是否正確? – SubZero

+0

您必須在循環前初始化$ i,否則每次都會將其設置爲0。 – rcpinto

+0

我在初始化$ i時遇到了問題,上面評論的語法怎麼樣? – SubZero