php – Smarty,每4次迭代新行

如何在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属性.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...