【问题标题】:Attempting to loop through 2 arrays simultaneously [duplicate]尝试同时循环遍历 2 个数组 [重复]
【发布时间】:2023-03-25 09:08:01
【问题描述】:

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

我正在尝试使用 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 循环,但无论我尝试以哪种方式实现它,它都会产生类似的显示。 任何正确方向的帮助或指示将不胜感激。

谢谢。

【问题讨论】:

  • 你可以用一个数组做到这一点,只需连接字符串。除此之外,之前已经多次询问(并回答)了一次循环两个数组。

标签: php html loops foreach


【解决方案1】:

for 循环可以解决问题:

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

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

【讨论】:

  • 您先生是个天才。谢谢堆,现在已经搞砸了一段时间:) 我试图分离尽可能多的 php 逻辑和显示 - html,只是为了更容易阅读页面发生的事情。再次感谢
猜你喜欢
  • 1970-01-01
  • 2017-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-14
  • 2012-02-28
相关资源
最近更新 更多