2016-04-03 29 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