|
常见的就下面三种,if-elseif-else,foreach和section,都是用来控制内容输出结构,所以在今天的php教程中,提出(注明:此教程部分来自网络,部分摘自手册,提供smarty中文手册下载)
1.条件选择结构 if-elseif-else
... ... ...
条件修饰词:eq、ne、neq、gt、lt、lte、le、gte、ge、is even、is odd、is not even、is not odd、not、mod、div by、even by、odd by、==、!=、>、=.
解释:
equal : 相等、not equal:不等于、greater than:大于、less than:小于、less than or equal:小于等于、great than or equal:大于等于、is even:是偶数、is odd:是奇数、is not even:不是偶数、is not odd:不是奇数、not:非、mod:取余、div by:被。。。除
{if $name eq "admin"} ...... {elseif $name eq "Wilma"}} ...... {else} ...... {/if}
2.运用foreach循环遍历
... ...
Attribute Name属性名称Type类型Required必要Default默认值Description描述 from array数组 Yes必要 n/a 循环访问的数组 item string字符串 Yes必要 n/a 当前元素的变量名 key string字符串 No可选 n/a 当前键名的变量名 name string字符 No可选 n/a 用于访问foreach属性的foreach循环的名称
$smarty->assign("contacts", array(array("phone" => "1", "fax" => "2", "cell" => "3"), array("phone" => "555-4444", "fax" => "555-3333", "php教程" => "www.phpddt.com"))); *} {foreach name=outer item=contact from=$contacts} {foreach key=key item=item from=$contact} {$key}: {$item}
{/foreach} {/foreach}
3.section可实现更复杂的循环遍历
name: section的名称,不用加$;
$loop: 要循环的变量,程度中要使用assign对这个变量进行操作。
$start: 开始循环的下标。默认为0;
$step: 每次循环下标的增数;
$show : boolean型。决定是否对于这块进行显示。默认为true;
的属性;
index:循环下标。默认为0;
index_prev:当前下标的上一个值,默认为-1;
index_next:当前下标的下一个值,默认为1;
first:是否为第一下循环;
last:是否为最后一个循环;
iteration:循环个数;
rownum:当前行号,iteration的别名;
loop:最后一个循环号。Section的循环次数;
show:是否显示;
新闻编号:
新闻内容:
I am sorry
对于一维数组:
{section name=row loop=$list}
{$list.name}
{/section}
对于二维数组:
{section name=row loop=$list}
{$list[row].name}
{/section}
另外还可以直接单一输出:
对于三维数组:
id ------>
title -------->
url ---------->
关于smarty控制语句整理的php教程就是这些了! |
|