本文实例讲述了smarty内建函数的使用方法。分享给大家供大家参考。具体如下:
in-build(内建),在smarty模板中,提供了很多内建的函数库,具体使用可以参考smarty中文手册chm版本。
1.foreach函数
操作数组如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//索引数组
$res = array ( '上海' , '北京' , '深圳' );
$smarty ->assign( "arr" , $res );
//关联数组
$res2 = array ( 'city1' => '北京' , 'city2' => '广州' , 'city3' => '湖南' );
$smarty ->assign( "arr2" , $res2 );
//索引二维数组
$res3 = array (
array ( '潇晓' , '常山' , '吴蓓' ), array ( '珊珊' , '常明' )
);
$smarty ->assign( "arr3" , $res3 );
//关联二维数组
$res4 = array (
array ( 'id' => '001' , 'name' => '张三' , 'email' => 'zhangsan@1163.com' ),
array ( 'url' => 'http://www.baidu.com' , 'age' => '28' )
);
$smarty ->assign( "arr4" , $res4 );
//关联二维数组2
$res5 = array (
'emp1' => array ( 'id' => '001' , 'name' => '张三' , 'email' => 'zhangsan@1163.com' ),
'emp2' => array ( 'url' => 'http://www.baidu.com' , 'age' => '28' )
);
$smarty ->assign( "arr5" , $res5 );
|
遍历数组:
其中from、item、key是固定写法,key可以根据需求加
一维数组
索引数组:
1
2
3
4
5
6
7
8
9
|
<br/>
<{ foreach from= $arr item=temp}>
<{ $temp }> <t/>
<{/ foreach }>
<br/>关联数组:<br/>
<{ foreach from= $arr2 item=temp key=k}>
<{ $k }>=<{ $temp }><t/>
<{/ foreach }>
<br/>
|
备注:from、item、key是固定的
二维数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<br/>二维索引数组:<br/>
<{ foreach from= $arr3 item=temp key=k}>
<{*这里的temp是一个数组*}>
<{ foreach from= $temp item=val}>
<{ $val }>
<{/ foreach }>
<{/ foreach }>
<br/>二维关联数组格式1:<br/>
<{ foreach from= $arr4 item=temp}>
<{*外层的键不需要,所以不添加key*}>
<{ foreach from= $temp item=val key=k}>
<{*内层的键需要,添加key*}>
<{ $k }>=<{ $val }>
<{/ foreach }>
<{/ foreach }>
<br/>二维关联数组格式2:<br/>
<{ foreach from= $arr5 item=temp key=k}>
<{ $k }>:
<{ foreach from= $temp item=val key=k2}>
<{ $k2 }>=<{ $val }>
<{/ foreach }>
<br/>
<{/ foreach }>
|
2.if...else...
1
2
3
4
5
|
<{ if $age >10 }>
年龄大于10,年龄为:<{ $age }>
<{ else }>
年龄小于10,年龄为:<{ $age }>
<{/ if }>
|
3.if...elseif...elseif...else...
已知数据源如下:
1
2
3
4
5
6
|
$res4 = array (
array ( 'id' => '001' , 'age' => '4' ),
array ( 'id' => '002' , 'age' => '16' ),
array ( 'id' => '003' , 'age' => '20' ),
array ( 'id' => '004' , 'age' => '80' )
);
|
模板中引用如下:
1
2
3
4
5
6
7
8
9
10
11
|
<{ foreach from= $arr4 item=temp }>
<{ if $temp .age < 5}>
<{ $temp .id}>,你是小孩
<{ elseif $temp .age >=5 and $temp .age <= 18}>
<{ $temp .id}>,你是年轻人
<{ elseif $temp .age > 18 and $temp .age <= 50}>
<{ $temp .id}>,你是成年人
<{ else }>
<{ $temp .id}>,年龄<span style= "font-family:Consolas;" >比较大了</span>
<{/ if }>
<{/ foreach }
|
希望本文所述对大家的php程序设计有所帮助。