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&amp;mysql(一)
Oct 09 PHP
PHP 变量类型的强制转换
Oct 23 PHP
php中is_null,empty,isset,unset 的区别详细介绍
Apr 28 PHP
php的$_FILES的临时储存文件与回收机制实测过程
Jul 12 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
ThinkPHP控制器间实现相互调用的方法
Oct 31 PHP
php简单压缩css样式示例
Sep 22 PHP
PHP定时任务获取微信access_token的方法
Oct 10 PHP
Laravel 之url参数,获取路由参数的例子
Oct 21 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
Apr 06 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 PHP
PHP实现简单日历类编写
Aug 28 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学习之PHP运算符
2006/10/09 PHP
一个ubbcode的函数,速度很快.
2006/10/09 PHP
PHP 魔术函数使用说明
2010/05/14 PHP
php对大文件进行读取操作的实现代码
2013/01/23 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
php实现网站顶踩功能的完整前端代码
2015/07/19 PHP
实例讲解php数据访问
2016/05/09 PHP
PHP简单读取xml文件的方法示例
2017/04/20 PHP
Laravel框架使用Redis的方法详解
2018/05/30 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
jQuery的几个我们必须了解的特点
2015/05/03 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
纯js实现手风琴效果代码
2020/04/17 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
JS正则匹配中文的方法示例
2017/01/06 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
2018/03/21 Javascript
Node.js 获取微信JS-SDK CONFIG的方法示例
2019/05/21 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
[02:22]完美世界DOTA2联赛PWL S3 集锦第一期
2020/12/15 DOTA
分享一个常用的Python模拟登陆类
2015/03/29 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
2018/01/08 Python
python语言元素知识点详解
2019/05/15 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
Araks官网:纽约内衣品牌
2020/10/15 全球购物
档案接收函
2014/01/13 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
公司财务会计主管应聘求职信
2014/09/26 职场文书
幼儿园托班开学寄语(2015秋季)
2015/05/27 职场文书
幼儿园安全教育随笔
2015/08/14 职场文书
优质服务标语口号
2015/12/26 职场文书
Redis批量生成数据的实现
2022/06/05 Redis