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实现框架(二)
Oct 09 PHP
关于PHP堆栈与列队的学习
Jun 21 PHP
浅析memcache启动以及telnet命令详解
Jun 28 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
php中cookie实现二级域名可访问操作的方法
Nov 11 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
php利用事务处理转账问题
Apr 22 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
Dec 28 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
php+ajax 文件上传代码实例
Mar 18 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如何得到当前页和上一页的地址?
2006/11/27 PHP
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
动态添加js事件实现代码
2009/03/12 Javascript
jquery JSON的解析方式
2009/07/25 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
浅谈js原生拖放
2016/11/21 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
使用Bootstrap做一个朝代历史表
2019/12/10 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
Python Requests安装与简单运用
2016/04/07 Python
Python中functools模块的常用函数解析
2016/06/30 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
浅谈Python里面小数点精度的控制
2018/07/16 Python
python如何实现数据的线性拟合
2019/07/19 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Python3.x+pyqtgraph实现数据可视化教程
2020/03/14 Python
最简单的matplotlib安装教程(小白)
2020/07/28 Python
Python 如何创建一个线程池
2020/07/28 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
新奥尔良珠宝:Mignon Faget
2020/11/23 全球购物
社会实践活动总结范文
2014/07/03 职场文书
新店开张活动方案
2014/08/24 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
小学语文继续教育研修日志
2015/11/13 职场文书
python解决12306登录验证码的实现
2021/04/18 Python
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL