关于Smarty中循环的使用(foreach、section)和if的使用

一、foreach的使用

       1)<{}>//界定符是自定义的我定义的是"<{}>";

         (2)<{foreach 属性}>//这是开始的标签

              语句、、、、、、

                      <{/foreach }>//闭合标签

               (3).关于foreach的属性:

            <1>.from待循环 数组的名称

                         <2>. item 当前处理元素的变量名称

            <3>.key  当前处理元素的键值

             <4>.name该循环的名称,用于访问该循环

foreachelse 语句在 from 变量没有值的时候被执行.(放在语句中)

eg: <?php
$stu=array(array("id"=>1,"name"=>"张三","age"=>18),array("id"=>2,"name"=>"李四","age"=>19),array("id"=>3,"name"=>"王五","age"=>20));
include 'libs/Smarty.class.php';//包含Smarty类文件名称
$smarty=new Smarty();//初始化对象
$smarty->template_dir="demo/templates";//设置模版目录
$smarty->compile_dir="demo/templates_c";//设置编译目录
//***********************************
//设置定界符
//*************************
$smarty->left_delimiter="<{";
$smarty->right_delimiter="}>" ;

$smarty->assign("stu",$stu);
$smarty->display("lianxi.tpl");
?>

//这是一个php的总文件

//以下是一个lianxi.tpl的模板文件

<table bgcolor="#FF0000" bordercolor="#000066" border="1" id="1">
<caption>的详细信息</caption>
<tr><th>学号</th><th>姓名:</th><th>年龄:</th></tr>

<{foreach from=$stu item=row name=a1}><tr>
<{foreach from=$row item=value name=a2}>
<td><{$value}></td>
<{/foreach}></tr>
<{/foreach}>  
</table>

二、section的使用

  1.<{section 属性}>

    语句、、、、、

     <{/section}>

  2.   关于section的属性  <1>.name   该循环的名称

                                       <2>.loop   决定循环次数的变量名称

                                       <3>.start    循环执行的初始位置  如果该位置为负那么开始位置从数组的尾部算起。

                                      <4>.max   设定循环最大执行次数

                                      <5>.show   决定是否显示该循环

                                     <6>.step     该值决定循环的步长

eg.//循环输出学生的信息

<table bgcolor="#FF0000" bordercolor="#000066" border="1" id="2">
<caption>的详细信息</caption>
<tr><th>学号</th><th>姓名:</th><th>年龄:</th></tr>
<{section name=loap_a loop=$stu}>
<tr><td><{$stu[loap_a].id}></td><td><{$stu[loap_a].name}></td><td><{$stu[loap_a].age}></td>
<{/section}>
</tr>
</table>

三、foreac和section的对比

foreach 是除 section 之外处理循环的另一种方案(根据不同需要选择不同的方案).
foreach 用于处理简单数组(数组中的元素的类型一致),它的格式比 section 简单许多,缺点是只能处理简单数组.
foreach 必须和 /foreach 成对使用,且必须指定 fromitem 属性.
name 属性可以任意指定(字母、数字和下划线的组合).
foreach 可以嵌套,但必须保证嵌套中的 foreach 名称唯一.
from 属性(通常是数组)决定循环的次数.

   3.if的使用

      <{if 条件1}> 语句一

       <{elseuif 条件2  }> 语句二

       <{else}>

        <{/else}>

eg.

<{if $dq=='left'}>
<span style=" float:left;"><{$text}></span>
<{elseif $dq=='right'}><span style="float:right;"><{$text}></span>
<{else}><center><{$text}></center>
<{/if}>

 

     

                             

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值