这里是数组
$array = [
a=>["name"= "name1", "id"="1"..],
b=>["name"= "name2", "id"="2"..],
c=>["name"= "name3", "id"="3"..],
d=>["name"= "name4", "id"="4"..],
e=>["name"= "name5", "id"="5"..],
f=>["name"= "name6", "id"="6"..],......);
我想实现的是foreach循环来回显像这样的项
Design
这就是我所做的,但没有运气
$len = count($moduleTypes);
$firsthalf = array_slice($moduleTypes, 0, $len / 2);
$secondhalf = array_slice($moduleTypes, $len / 2);
打破数组并分别回显每个数组,Foreach循环必须继续,但在第二次迭代中,它需要循环两次[B,C],下一次迭代循环一次[D],依此类推。检查图像透视
5条答案
按热度按时间moiiocjp1#
棘手的部分是HTML表。成功的nerd sniping我。
输出:
它生成以下HTML表:
算法:
A
,B
,D
,E
,G
,H
,J
,K
。C
、F
、I
、L
。if($i%3 == 0)
。$first_row_next
跟踪它并相应地输出td
数据。HTML表工作:
这将生成第一行。到目前为止一切顺利。* * 第二行**为:
渲染的方式是:
C
被渲染时,它在A
中寻找空间,但没有得到它,所以它移动到下一列。它进入B
,因此被连接。F
,它会在E
下面添加一个td
,并与其他值一起依此类推。brgchamk2#
这不是确切的解决方案,但它将确切的逻辑,您可以在您的html代码中实现
O/p看起来像
其中
O
是A,D,G
,E
是B,C,E,F
更新
laawzig23#
我觉得你应该
你可以在这里玩http://sandbox.onlinephpfunctions.com/code/b3fba97df75b235b1acccacf82b800e21f3924f5
e1xvtsh34#
您可以使用array_keys,然后使用索引值,就像使用for循环一样。我不知道你为什么要使用foreach-loop。for循环似乎对此更好。
switch-case
可以使它更具可读性,你可以评论你的案例。9jyewag05#
我很欣赏@nice_dev使用HTML和
rowspan
来满足所需的设计布局。我想推荐一个替代的代码片段来生成相同的标记。我的代码片段使用多维数组来构建/保留两行表格单元格。然后循环数组以显示表行。
代码:(Demo)