试图同时循环2个数组

时间:2012-05-17 06:23:19

标签: php html loops foreach

  

可能重复:
  Multiple index variables in PHP foreach loop

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

我有两个数组,它们是在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循环,但无论我尝试和实现它的方式,它都会产生类似的显示。 任何有关正确方向的帮助或指示都将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:1)

for循环可以解决这个问题:

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

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