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源码之 ext/mysql扩展部分
Jul 17 PHP
PHP5中使用PDO连接数据库的方法
Aug 01 PHP
纯php打造的tab选项卡效果代码(不用js)
Dec 29 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
解读PHP中的垃圾回收机制
Aug 10 PHP
ThinkPHP表单数据智能写入create方法实例分析
Sep 27 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
php语言中使用json的技巧及json的实现代码详解
Oct 27 PHP
CodeIgniter钩子用法实例详解
Jan 20 PHP
微信公众号开发之语音消息识别php代码
Aug 08 PHP
JS操作XML中DTD介绍及使用方法分析
Jul 04 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 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
js+php实现静态页面实时调用用户登陆状态的方法
2015/01/04 PHP
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP配置ZendOpcache插件加速
2019/02/14 PHP
myFocus slide3D v1.1.0 使用方法与下载
2011/01/12 Javascript
javascript 节点排序 2
2011/01/31 Javascript
js 数值转换为3位逗号分隔的示例代码
2014/02/19 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
JavaScript判断表单提交时哪个radio按钮被选中的方法
2015/03/21 Javascript
浅谈被jQuery抛弃的函数及替代函数
2015/05/03 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
2017/05/08 jQuery
详解用webpack的CommonsChunkPlugin提取公共代码的3种方式
2017/11/09 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
jQuery实现的导航条点击后高亮显示功能示例
2019/03/04 jQuery
回顾Javascript React基础
2019/06/15 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
2020/10/22 Javascript
elementUI同一页面展示多个Dialog的实现
2020/11/19 Javascript
[02:39]DOTA2英雄基础教程 天怒法师
2013/11/29 DOTA
Python中偏函数用法示例
2018/06/07 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
Python线性拟合实现函数与用法示例
2018/12/13 Python
python实现三维拟合的方法
2018/12/29 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Python flask路由间传递变量实例详解
2020/06/03 Python
Myprotein瑞士官方网站:运动营养和健身网上商店
2019/09/25 全球购物
大专毕业生简历的自我评价
2013/10/20 职场文书
国贸专业大学生职业生涯规划范文
2014/01/10 职场文书
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
收银员的岗位职责范本
2014/02/04 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
公司酒会主持词
2015/07/02 职场文书
员工手册董事长致辞
2015/07/29 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
导游词之泰山玉皇顶
2019/12/23 职场文书