【发布时间】:2019-12-09 09:06:39
【问题描述】:
使用 Wordpress 和 PHP,我想编写几个 for 循环,这将允许我使用引导程序输出 html,以从后端的画廊创建图像网格,而不是将所有图像单独编码到页面中. 外部 for 循环工作并创建两个引导 div。内部循环中的 if 语句给我带来了问题。
我最后一次尝试让 if 语句在元素 4 处提前结束内循环,然后掉入将关闭第一个 div 的外循环。之后外部循环将再次开始,创建另一个 div,但我不知道如何在测试数组中的元素 5 处重新启动内部循环。
我需要什么才能使这个 for 循环停止在第 4 个 div 之后用内容填充第一个 div 并结束第一个 div,但会从第 5 个开始重新开始,开始第二个 div 并运行循环的其余部分?
现在这就是我所拥有的。我正在使用数值数组作为测试以使循环正常工作。
<?php $arr = array(1, 2, 3, 4, 5, 6, 7, 8);
$length = count($arr);
?>
<div class="row w-100"> //Outer container div
<?php for($i = 1; $i <= 2; $i++) //Outer loop
{
?>
<div class="row w-100"> //Inner output div
<?php
for($j = 0; $j <= $length; $j++) //Inner loop
{
if($j == 4)
{
break;
}
else
{
echo $arr[$j];
}
}
?>
</div>
<?php
} //End outer loop
?>
</div>
当内部循环将内容输出到 div 中时,它看起来像这样:
第1234章
第1234章
这就是我想要的样子:
第1234章
第5678章
在一次尝试中,我使用了 foreach 循环作为内部循环,但我了解到您不能停止 foreach 循环并在索引处重新启动它,因此我放弃了它,改为使用两个 for 循环。
我也意识到 break 语句不是最好的解决方案。它只是在那里显示我目前的进步。我尝试了一个 continue 语句,但我的结果打印出了两个 div 的整个数组,同时跳过了数字 5。
编辑: 我刚刚意识到我没有在代码 sn-p 中指出我的 div 的含义。固定。
【问题讨论】:
-
是否要连续创建 4 个列,其余 4 个列在第二行?
-
是的,这就是我最终想要达到的结果。
-
我已经发布了我的答案,请检查,如果有任何问题请告诉我
标签: php wordpress for-loop if-statement