1

可能重复:
PHP foreach 循环中的多个索引变量

我正在尝试使用 mysqli、php 和 html 创建前后图像显示。我正在使用 mysqli 和 php 从数据库中提取记录,并尝试使用 foreach 循环在无序列表中查看结果。

我有我的 2 个数组,它们是在 mysqli 查询的 while 循环中创建的。该数组将仅包含 5 个结果(用于分页,以后可能会更改)。

$before_array[] = '
<div class="highslide-gallery">
<li>
<a href="'.$beforeurl.'" class="highslide" onclick="return hs.expand(this)">
<img src="'.$beforeurl.'" width="100px" height="125px" alt="Highslide JS">
</a>
</li>';

$after_array[] = '
<li><a href="'.$afterurl.'" class="highslide" onclick="return hs.expand(this)">
<img src="'.$afterurl.'" width="100px" height="125px" alt="Highslide JS">
</a>
</li>';

在页面视图中,我有以下代码来显示前后图片。

<div id="hoverwrap">
<ul class="hoverbox">;

<?php 
foreach ($before_array as $value) {
    echo $value; 
 }

foreach ($after_array as $value) {
  echo $value;
}
?>

</ul>

</div><!-- end of hoverwrap div-->

使用当前代码,它正在显示图片:之前-之前-之前-之前-之前-之后-之后-之后-之后-之后。

我希望它在哪里显示:之前 - 之后 - 之前 - 之后等等等等。

我在考虑一个while循环,但无论我尝试以哪种方式实现它,它都会产生类似的显示。任何正确方向的帮助或指示将不胜感激。

谢谢。

4

1 回答 1

1

一个for循环将在这里解决问题:

$x = count($before_array);
for($i = 0; $i < $x; $i++) {
    print $before_array[$i];
    print $after_array[$i];
}

为什么不能在 mysql 循环本身中打印它?

于 2012-05-17T06:25:21.190 回答