加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Smarty,每4次迭代新行

发布时间:2020-12-13 21:51:00 所属栏目:PHP教程 来源:网络整理
导读:如何在Smarty中设置循环中的每4次迭代,我会在表中获得新行? 我正在尝试这样的事情: table {foreach $arr as $v} {counter start=0} {if $counter/4 == 0} trtd{$v}/td/tr {else} td{$v}/td {/if} td {/foreach}/table 但我明白这是愚蠢的,我被困住了,有没
如何在Smarty中设置循环中的每4次迭代,我会在表中获得新行?
我正在尝试这样的事情:

<table>
    {foreach $arr as $v}
       {counter start=0}
       {if $counter/4 == 0}
           <tr><td>{$v}</td></tr>
       {else}
           <td>{$v}</td>
       {/if}
       <td>
    {/foreach}
</table>

但我明白这是愚蠢的,我被困住了,有没有正常的方法呢?

解决方法

如果没有数据,如果你可以使用空行,那么使用:

{assign var="counter" value="0"}
<table>
    <tr>
    {foreach $arr as $v}
       {assign var="counter" value=$counter + 1}
       {if $counter % 4 == 0}
           </tr><tr>
       {/if}
       <td>{$v}</td>
    {/foreach}
    </tr>
</table>

如果你不能忍受这个,那么你需要在渲染表之前检查是否有可用的数据.

仍然可以说$arr的计数必须是4的倍数.否则,需要正确设置columnspan属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读