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 相关文章推荐
URL Rewrite的设置方法
Jan 02 PHP
PHP笔记之:基于面向对象设计的详解
May 14 PHP
php 模拟 asp.net webFrom 按钮提交事件的思路及代码
Dec 02 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
CI(CodeIgniter)框架介绍
Jun 09 PHP
php中get_object_vars()方法用法实例
Feb 08 PHP
PHP生成条形码大揭秘
Sep 24 PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
PHP中将一个字符串部分字符用星号*替代隐藏的实现代码
Sep 08 PHP
PHP实现腾讯短网址生成api接口实例
Dec 08 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
elgg 获取文件图标地址的方法
2010/03/20 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
smarty表格换行实例
2014/12/15 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
PHP实现通过文本文件统计页面访问量功能示例
2019/02/13 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
JavaScript 函数调用规则
2009/09/14 Javascript
jQuery 技巧小结
2010/04/02 Javascript
JavaScript省市联动实现代码
2014/02/15 Javascript
json中换行符的处理方法示例介绍
2014/06/10 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
Javascript刷新页面的实例
2017/09/23 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
vue项目中使用fetch的实现方法
2019/04/25 Javascript
vue-socket.io跨域问题有效解决方法
2020/02/11 Javascript
js实现自定义滚动条的示例
2020/10/27 Javascript
[00:32]2018DOTA2亚洲邀请赛EG出场
2018/04/03 DOTA
Python算术运算符实例详解
2017/05/31 Python
python购物车程序简单代码
2018/04/18 Python
Python的argparse库使用详解
2018/10/09 Python
Python换行与不换行的输出实例
2020/02/19 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
法国娇韵诗官方旗舰店:Clarins是来自法国的天然护肤品牌
2018/06/30 全球购物
施华洛世奇中国官网:SWAROVSKI中国
2020/06/16 全球购物
校本教研工作制度
2014/01/22 职场文书
仓管员岗位责任制
2014/02/19 职场文书
人事部经理岗位职责
2014/03/07 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
给校长的建议书500字
2014/05/15 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
一文读懂navicat for mysql基础知识
2021/05/31 MySQL