smarty本身逻辑导致的问题,如果使用以下代码:
<{foreach from=$array item=one}>
<li><{$one.title}></li>
<{/foreach}>
即使$array为空还是会执行一次。
如果想要解决这个问题,只能使用下面的办法
<{if $array}>
<{foreach from=$array item=one}>
<li><{$one.title}></li>
<{/foreach}>
<{/if}>
或者
<{if is_array($array)}>
<{foreach from=$array item=one}>
<li><{$one.title}></li>
<{/foreach}>
<{/if}>
本文探讨了Smarty模板引擎中处理空数组的问题。即使数组为空,Smarty的foreach循环也会默认执行一次。为避免这种情况,文章提供了两种解决方案:一是使用if判断检查数组是否为空;二是使用is_array函数确保数组存在。

2786

被折叠的 条评论
为什么被折叠?



