日期:2014-05-17  浏览次数:20543 次

怎么判断php循环中是不是最后一个?
{foreach from=$myArray item=foo}
<li>{$foo}</li>
{/foreach}

------解决方案--------------------
我觉得可以这样,可以读取记录的时候将数据的条数也查出来。assign到前台页面,循环都是可以获取当前循环的次数的,虽然我并不知道smarty的foreach 循环获取当前循环次数是哪个参数,你可以查一查,应该能查到,这个,用当前循环次数,和数据的总数,也就是总循环次数比较,相等的话就是最后一次循环了。
------解决方案--------------------
1、你这不是 php 循环,而是模板语言的循环
2、你的这个很像 smarty 模板语言,但不能确定。很多模板引擎都套用这个格式
3、如果能确认是 smarty 模板引擎,那么有一个 last 属性正好满足你的需要
.last 当前 foreach 循环执行到最后一遍时 last 被设置成 true.
{* 在列表最后添加水平线 *} 
{foreach from=$items key=part_id item=prod name=products} 
<a href="#{$part_id}">{$prod}</a>{if $smarty.foreach.products.last}<hr>{else},{/if} 
{foreachelse} 
... content ... 
{/foreach} 

相应的还有很多实用的属性可供使用,比如:index、iteration、first、total等
这些都是那些有着 smarty 形,却无 smarty 质的所谓高效模板引擎所做不到的