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 相关文章推荐
Windows IIS PHP 5.2 安装与配置方法
Jun 08 PHP
phpmyadmin MySQL 加密配置方法
Jul 05 PHP
在MongoDB中模拟Auto Increment的php代码
Mar 06 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
PHP验证码函数代码(简单实用)
Sep 29 PHP
php $_SERVER windows系统与linux系统下的区别说明
Feb 14 PHP
PHP获取QQ达人QQ信息的方法
Mar 05 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
May 09 PHP
thinkPHP js文件中U方法不被解析问题的解决方法
Dec 05 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP中ltrim()函数的用法与实例讲解
Mar 28 PHP
聊聊 PHP 8 新特性 Attributes
Aug 19 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
Discuz 模板引擎的封装类代码
2008/07/18 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
PHP实现Javascript中的escape及unescape函数代码分享
2015/02/10 PHP
PHP翻页跳转功能实现方法
2020/11/30 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
jQuery1.6 类型判断实现代码
2011/09/01 Javascript
jQuery Ajax异步处理Json数据详解
2013/11/05 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
HTTP 304错误的详细讲解
2013/11/13 Javascript
jquery.post用法关于type设置问题补充
2014/01/03 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
小结Node.js中非阻塞IO和事件循环
2014/09/18 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
将html页面保存成图片,图片写入pdf的实现方法(推荐)
2016/09/17 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
JS验证不重复验证码
2017/02/10 Javascript
如何使用angularJs
2017/05/08 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
Vue异步加载about组件
2017/10/31 Javascript
jquery使用echarts实现有向图可视化功能示例
2019/11/25 jQuery
python如何通过实例方法名字调用方法
2018/03/21 Python
详解Appium+Python之生成html测试报告
2019/01/04 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
美国最好的钓鱼、狩猎和划船装备商店:Bass Pro Shops
2018/12/02 全球购物
c++工程师面试问题
2013/08/04 面试题
大学四年学习的自我评价分享
2013/12/09 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
现场施工员岗位职责
2015/04/11 职场文书
公司欠款证明
2015/06/24 职场文书
网吧温馨提示
2015/07/17 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
Java 异步任务计算FutureTask
2022/04/28 Java/Android
java版 简单三子棋游戏
2022/05/04 Java/Android