本文实例讲述了smarty模板引擎之分配数据类型用法。分享给大家供大家参考。具体分析如下:
一、分配基本数据
1
2
3
4
5
6
7
8
9
10
11
|
//分配基本数据 $smarty ->assign( "str" , "hello smarty!" ); $smarty ->assign( "int" ,143); $smarty ->assign( "double" ,12.1344); $smarty ->assign( "bool" ,true); $smarty ->assign( "bool2" ,false); 字符串类型:<{ $str }> <br/> 整型:<{ $int }> <br/> 浮点型:<{ $double }> <br/> 布尔类型真:<{ $bool }> <br/> 布尔类型假:<{ $bool2 }> <br/> |
浏览器显示结果:
1表示真,0表示假,假的时候为null,什么都不显示。
二、分配复合数据之数组
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 ); |
模板文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
索引数组:元素1:<{ $arr [0]}>,元素2:<{ $arr [1]}>,元素3:<{ $arr [2]}> <br/> 关联数组取法1(不推荐):元素1:<{ $arr2 [ 'city1' ]}>,元素2:<{ $arr2 [ 'city2' ]}>,元素3:<{ $arr2 [ 'city3' ]}> <br/> 关联数组取法2(推荐):元素1:<{ $arr2 .city1}>,元素2:<{ $arr2 .city2}>,元素3:<{ $arr2 .city3}> <br/> 二维索引数组: 元素1:<{ $arr3 [0][0]}>, 元素2:<{ $arr3 [0][1]}>, 元素3:<{ $arr3 [0][2]}>, 元素4:<{ $arr3 [1][0]}>, 元素5:<{ $arr3 [1][1]}> <br/> 关联二维数组形式1: id-<{ $arr4 [0].id}>, name-<{ $arr4 [0].name}>, email-<{ $arr4 [0].email}>, url-<{ $arr4 [1].url}>, age-<{ $arr4 [1].age}> <br/> 关联二维数组形式2: id-<{ $arr5 .emp1.id}>, name-<{ $arr5 .emp1.name}>, email-<{ $arr5 .emp1.email}>, url-<{ $arr5 .emp2.url}>, age-<{ $arr5 .emp2.age}><br/> |
浏览器显示结果:
三、分配复合数据之对象
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
class Master{ var $name ; var $age ; function __construct( $name , $age ){ $this ->name= $name ; $this ->age= $age ; } } class Dog{ var $name ; var $age ; var $color ; var $arr ; var $master ; function __construct( $name , $age , $color , $arr6 , $master ){ $this ->name= $name ; $this ->age= $age ; $this ->color= $color ; $this ->arr= $arr6 ; $this ->master= $master ; } } $arr6 = array ( '001' , '002' , '003' ); $master = new Master( '小明' ,22); $dog1 = new Dog( '小白' ,1, 'white' , $arr6 , $master ); $smarty ->assign( "dog" , $dog1 ); |
模板文件
1
2
3
4
5
6
7
8
9
10
11
12
|
对象:<br/> //基本属性 name-<{ $dog ->name}>, age-<{ $dog ->age}>, color-<{ $dog ->color}> <br/> //数组属性 arr-<{ $dog ->arr[0]}>, arr-<{ $dog ->arr[1]}>, arr-<{ $dog ->arr[2]}> <br/> //对象属性 object-<{ $dog ->master->name}>, object-<{ $dog ->master->age}> <br/> |
浏览器显示结果
希望本文所述对大家的php程序设计有所帮助。