【发布时间】:2018-03-30 13:48:25
【问题描述】:
所以我这里有一个逻辑问题。
我想要什么:
通过数组循环(实际上是一个可访问的对象)
如果它是第一个元素回显<div>,则每三个元素回显结束
</div>.
如果少于 3 个,当然也结束 div。 编辑:由于我不清楚,我想要实现的是基于元素的 n°。 矛盾的是,我也需要它来处理 0 个元素。
0 个元素:
<div><div>
1 个元素:
<div>
<a></a>
</div>
3 个元素:
<div>
<a></a>
<a></a>
<a></a>
</div>
5 个元素:
<div>
<a></a>
<a></a>
<a></a>
</div>
<div>
<a></a>
<a></a>
</div>
等等......你明白了
我的错误代码:
$counter = 0;
foreach ($prods as $prod) {
if($counter == 0 || ($counter % 3) == 0) {
$htm_l .= '<div data-count="' . $counter . '">'; //just keeping track
}
$htm_l .= '<a data-id="' . $prod->id . '"> link </a>';
$counter++;
if($counter == 0 || ($counter % 3) == 0) {
$htm_l .= '</div>';
}
}
$counter = 0;
if($counter == 0 || ($counter % 3) == 0) {
$htm_l .= '</div>';
}
我能做什么? (prod 只是一个对象的集合,可以是一个字符串数组)
【问题讨论】:
-
请附上我们可以测试的MVCE。我们看不到您的代码现在不起作用,因为我们无法测试它,因为我们不知道
$prods是什么。 -
您要归档左侧的文件吗??
-
不,问题不在于 $prod 或 $variable,如果您愿意,可以将其视为字符串数组。我希望能够同时实现右侧或左侧,这取决于 prods ""array"" 中有多少项目
-
你的代码的输出是什么?
-
告诉我们你需要什么输出