smarty模板引擎之分配数据类型


Posted in PHP onMarch 30, 2015

本文实例讲述了smarty模板引擎之分配数据类型用法。分享给大家供大家参考。具体分析如下:

一、分配基本数据

//分配基本数据
$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/>

浏览器显示结果:

smarty模板引擎之分配数据类型

1表示真,0表示假,假的时候为null,什么都不显示。

二、分配复合数据之数组

//索引数组 
$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:<{$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/>

浏览器显示结果:

smarty模板引擎之分配数据类型

三、分配复合数据之对象

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);

模板文件

对象:<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/>

浏览器显示结果

smarty模板引擎之分配数据类型

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP文件上传实例详解!!!
Jan 02 PHP
PHP计划任务之关闭浏览器后仍然继续执行的函数
Jul 22 PHP
利用PHP实现智能文件类型检测的实现代码
Aug 02 PHP
Smarty foreach控制循环次数的实现详解
Jul 03 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
PHP封装分页函数实现文本分页和数字分页
Oct 23 PHP
php表单提交与$_POST实例分析
Jan 26 PHP
PHP反射API示例分享
Oct 08 PHP
PHP yii实现model添加默认值的方法(两种方法)
Nov 10 PHP
php微信公众号js-sdk开发应用
Nov 28 PHP
php接口技术实例详解
Dec 07 PHP
php利用fsockopen GET/POST提交表单及上传文件
May 22 PHP
php生成不重复随机数、数组的4种方法分享
Mar 30 #PHP
smarty模板引擎基础知识入门
Mar 30 #PHP
php array_merge函数使用需要注意的一个问题
Mar 30 #PHP
PHP CodeIgniter框架的工作原理研究
Mar 30 #PHP
PHP实现动态柱状图改进版
Mar 30 #PHP
PHP动态柱状图实现方法
Mar 30 #PHP
php实现的一个简单json rpc框架实例
Mar 30 #PHP
You might like
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
支持中文、字母、数字的PHP验证码
2015/05/04 PHP
无语,javascript居然支持中文(unicode)编程!
2007/04/12 Javascript
javascript加号&quot;+&quot;的二义性说明
2013/03/04 Javascript
Extjs4 消息框去掉关闭按钮(类似Ext.Msg.alert)
2013/04/02 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
jQuery实现宽屏图片轮播实例教程
2015/11/24 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
javascript判断图片是否加载完成的方法推荐
2016/05/13 Javascript
Javascript中作用域的详细介绍
2016/10/06 Javascript
vue中axios的二次封装实例讲解
2019/10/14 Javascript
详解Vue之事件处理
2020/07/10 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
Python实现SMTP发送邮件详细教程
2021/03/02 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
Python实现像awk一样分割字符串
2020/09/15 Python
python绘制趋势图的示例
2020/09/17 Python
用HTML5 实现橡皮擦的涂抹效果的教程
2015/05/11 HTML / CSS
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
MyBag中文网:英国著名的时尚包袋电商零售网站
2020/07/31 全球购物
linux面试相关问题
2013/04/28 面试题
四个太阳教学反思
2014/02/01 职场文书
德语专业求职信
2014/03/12 职场文书
爱祖国演讲稿
2014/05/04 职场文书
竞争与合作演讲稿
2014/05/12 职场文书
安全生产知识竞赛活动总结
2014/07/07 职场文书
出资证明书范本(标准版)
2014/09/24 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
关于CSS自定义属性与前端页面的主题切换问题
2022/03/21 HTML / CSS
HttpClient实现表单提交上传文件
2022/08/14 Java/Android