本文实例讲述了smarty模板引擎之分配数据类型用法。分享给大家供大家参考。具体分析如下:
一、分配基本数据
assign("str","hello smarty!");
$smarty->assign("int",143);
$smarty->assign("double",12.1344);
$smarty->assign("bool",true);
$smarty->assign("bool2",false);
字符串类型:<{$str}>
整型:<{$int}>
浮点型:<{$double}>
布尔类型真:<{$bool}>
布尔类型假:<{$bool2}>
整型:<{$int}>
浮点型:<{$double}>
布尔类型真:<{$bool}>
布尔类型假:<{$bool2}>
浏览器显示结果:
1表示真,0表示假,假的时候为null,什么都不显示。
二、分配复合数据之数组
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','emp2'=>array('url'=>'http://www.baidu.com','age'=>'28')
);
$smarty->assign("arr5",$res5);
模板文件
PHP;">
索引数组:元素1:<{$arr[0]}>,元素2:<{$arr[1]}>,元素3:<{$arr[2]}>
关联数组取法1(不推荐):元素1:<{$arr2['city1']}>,元素2:<{$arr2['city2']}>,元素3:<{$arr2['city3']}>
关联数组取法2(推荐):元素1:<{$arr2.city1}>,元素2:<{$arr2.city2}>,元素3:<{$arr2.city3}>
二维索引数组: 元素1:<{$arr3[0][0]}>,元素2:<{$arr3[0][1]}>,元素3:<{$arr3[0][2]}>,元素4:<{$arr3[1][0]}>,元素5:<{$arr3[1][1]}>
关联二维数组形式1: id-<{$arr4[0].id}>,name-<{$arr4[0].name}>,email-<{$arr4[0].email}>,url-<{$arr4[1].url}>,age-<{$arr4[1].age}>
关联二维数组形式2: id-<{$arr5.emp1.id}>,name-<{$arr5.emp1.name}>,email-<{$arr5.emp1.email}>,url-<{$arr5.emp2.url}>,age-<{$arr5.emp2.age}>
关联数组取法1(不推荐):元素1:<{$arr2['city1']}>,元素2:<{$arr2['city2']}>,元素3:<{$arr2['city3']}>
关联数组取法2(推荐):元素1:<{$arr2.city1}>,元素2:<{$arr2.city2}>,元素3:<{$arr2.city3}>
二维索引数组: 元素1:<{$arr3[0][0]}>,元素2:<{$arr3[0][1]}>,元素3:<{$arr3[0][2]}>,元素4:<{$arr3[1][0]}>,元素5:<{$arr3[1][1]}>
关联二维数组形式1: id-<{$arr4[0].id}>,name-<{$arr4[0].name}>,email-<{$arr4[0].email}>,url-<{$arr4[1].url}>,age-<{$arr4[1].age}>
关联二维数组形式2: id-<{$arr5.emp1.id}>,name-<{$arr5.emp1.name}>,email-<{$arr5.emp1.email}>,url-<{$arr5.emp2.url}>,age-<{$arr5.emp2.age}>
浏览器显示结果:
三、分配复合数据之对象
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',$master);
$smarty->assign("dog",$dog1);
模板文件
PHP;">
对象:
//基本属性 name-<{$dog->name}>,age-<{$dog->age}>,color-<{$dog->color}>
//数组属性 arr-<{$dog->arr[0]}>,arr-<{$dog->arr[1]}>,arr-<{$dog->arr[2]}>
//对象属性 object-<{$dog->master->name}>,object-<{$dog->master->age}>
//基本属性 name-<{$dog->name}>,age-<{$dog->age}>,color-<{$dog->color}>
//数组属性 arr-<{$dog->arr[0]}>,arr-<{$dog->arr[1]}>,arr-<{$dog->arr[2]}>
//对象属性 object-<{$dog->master->name}>,object-<{$dog->master->age}>
浏览器显示结果
希望本文所述对大家的PHP程序设计有所帮助。