smarty3 foreach与section

foreach可以访问关联数组,section只能访问索引数组。

smarty foreach相关属性详解

{foreach from=$myarray key="mykey" item="myitem"}

 

{foreach $contact as $key => $value}

    {$key}: {$value}

  {/foreach}

 

{foreach $myPeople as $value}

   <li>{$value@key}: {$value}</li>

{/foreach}

 name

{foreach $arry as $key=>$value  name=foo}

<li {if $smarty.foreach.foo.index == 1} style="color:red"  {/if}>{$value@key} : {$value}</li>

{/foreach}

 @index  获取当前循环的索引值,从0开始.

{foreach $arry as $key=>$value  name=foo}

<li  {if $value@index eq 1} style="color:red"  {/if}>{$value@key} : {$value}</li>

{/foreach}

@iteration 获取循环发生的次数,从1开始计数,区别于index,每循环一次会自增一次

{foreach $arry as $key=>$value  name=foo}

<li  {if $value@iteration==2} style="color:red"  {/if}>{$value@key} : {$value}</li>

{/foreach}

 @first  循环第一次

{foreach $arry as $key=>$value  name=foo}

<li {if $value@first} style="color:red"  {/if}>{$value@key} : {$value}</li>

{/foreach}

 @last  循环最后一次新的foreach语法

{foreach $arry as $key=>$value  name=foo}

<li  {if $value@last} style="color:red"  {/if}>{$value@key} : {$value}</li>

{/foreach}

 

 section属性

name:(必选) 是section循环的名称只是标示循环唯一的名字没有特别意义,前面没有$符号;
loop: (必选)是在php声明中的变量名称,用来标示是循环哪一个数组(即要循环数组名)需要使用$;
start: (可选)循环执行的初始位置. 如果该值为负数,开始位置从数组的尾部算起. 例如:如果数组中有7个元素,指定start为-2,那么指向当前数组的索引为5. 非法值(超过了循环数组的下限)将被自动调整为最接近的合法值.
step: (可选)如其它语言的循环,是一个步长,如果为负数,则倒序循环;
max:(可选)循环的最大下标,如果是1则只循环1次,如果为2则循环2次;
show:(可选)默认为true即显示。如果设置了{sectionelse}。表示如果数组没有内容的时候显示这部分的内容;如果show为false则显示这部分。如果没有设置{sectionelse}则不输出该数组。

 

index:用于显示当前循环的索引,从0开始(如果指定了start属性,那么由该值开始),每次加1(如果指定了step属性,那么由该值决定).如果没有指定step和start属性,此值的作用和iteration类似,只不过从0开始而已.

{section name=len loop=$arry11}   

<div {if $smarty.section.len.index==0}style="color:red"{/if}>id: {$arry11[len]}</div> 

{/section}



 

 iteration:用于显示循环的次数.iteration 不像index属性受start、step和max属性的影响,该值总是从1开始(index是从0开始的).rownum 是iteration的别名,两者等同.

{section name=len loop=$arry11 start=0 step=1 max=3 }    

<div {if $smarty.section.len.iteration==1}style="color:red"{/if}>id: {$arry11[len]}</div>  

{/section}

 

你可能感兴趣的:(foreach)