主要用于数组循环,loop循环实质上是foreach循环
一、常规输出
格式一
{loop $模板数组 $数组键 $值变量} 执行语句 {/loop}
格式二
{loop $模板数组 $值变量} 执行语句 {/loop}
二、控制循环数量
array_slice() 函数在数组中根据条件取出一段值,并返回。
array_slice(array,start,length,preserve)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
start | 必需。数值。规定取出元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从前往后开始取。 如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。 |
length | 可选。数值。规定被返回数组的长度。 如果该值设置为整数,则返回该数量的元素。 如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。 如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。 |
preserve | 可选。规定函数是保留键名还是重置键名。可能的值:
|
实例:从第一个元素开启,只循环3次
{php $arr = array_slice($模板数组, 0, 3);} {loop $arr $值变量} 执行语句 {/loop}
三、输出循环计数值
计数变量从0开始
{loop $模板数组 $值变量} 执行语句 当前条数:{$key_值变量} {/loop} 总条数:{$count_值变量}
实例:
{loop $arr $a} 当前条数:{$key_a+1} 判断第一条: {if $key_a == 0}表示第一条{/if} 判断最后一条: {if $count_a == $key_a+1}表示最后一条 {/if} --v4.5.2及以上版本支持以下算法-- 判断第一条: {if $is_first}表示第一条{/if} 判断最后一条: {if $is_last}表示最后一条 {/if} {/loop} 总条数:{$count_a}