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 相关文章推荐
source.php查看源文件
Dec 09 PHP
php AJAX实例根据邮编自动完成地址信息
Nov 23 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
PHP base64编码后解码乱码的解决办法
Jun 19 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
PHP实现多文件上传的方法
Jul 08 PHP
PHP验证码生成原理和实现
Jan 24 PHP
PHP实现获取第一个中文首字母并进行排序的方法
May 09 PHP
Docker搭建自己的PHP开发环境
Feb 24 PHP
微信公众号之主动给用户发送消息功能
Jun 22 PHP
laravel 使用事件系统统计浏览量的实现
Oct 16 PHP
Laravel框架之解决前端显示图片问题
Oct 24 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/19 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
基于PHP CURL用法的深入分析
2013/06/09 PHP
PHP微信开发之有道翻译
2016/06/23 PHP
PHP 中 var_export、print_r、var_dump 调试中的区别
2018/06/19 PHP
PHP PDOStatement::nextRowset讲解
2019/02/01 PHP
PHP Pipeline 实现中间件的示例代码
2020/04/26 PHP
javascript中IE浏览器不支持NEW DATE()带参数的解决方法
2012/03/01 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
Javascript中的几种URL编码方法比较
2015/01/23 Javascript
jQuery插件multiScroll实现全屏鼠标滚动切换页面特效
2015/04/12 Javascript
jQuery结合AJAX之在页面滚动时从服务器加载数据
2015/06/30 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
详解webpack2异步加载套路
2018/09/14 Javascript
浅谈让你的代码更简短,更整洁,更易读的ES6小技巧
2018/10/25 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
[03:55]TI9战队采访——TNC Predator
2019/08/22 DOTA
布同自制Python函数帮助查询小工具
2011/03/13 Python
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
Python实现微信机器人的方法
2019/09/06 Python
基于Python实现剪切板实时监控方法解析
2019/09/11 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
python os模块常用的29种方法使用详解
2020/06/02 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
CSS3 重置iphone浏览器按钮input,select等表单元素的默认样式
2014/10/11 HTML / CSS
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
Linux文件操作命令都有哪些
2016/07/23 面试题
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
Pandas数据类型之category的用法
2021/06/28 Python
sql时间段切分实现每隔x分钟出一份高速门架车流量
2022/02/28 SQL Server