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中防止SQL注入实现代码
Feb 19 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
使用php实现下载生成某链接快捷方式的解决方法
May 07 PHP
IIS+fastcgi下PHP运行超时问题的解决办法详解
Jun 20 PHP
destoon后台网站设置变成空白的解决方法
Jun 21 PHP
thinkphp3.2.2前后台公用类架构问题分析
Nov 25 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
PHP控制前台弹出对话框的实现方法
Aug 21 PHP
CI框架AR数据库操作常用函数总结
Nov 21 PHP
php 根据自增id创建唯一编号类
Apr 06 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 PHP
PHP日志LOG类定义与用法示例
Sep 06 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数组的使用技巧
2011/07/17 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
php中的buffer缓冲区用法分析
2019/05/31 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
JS延时提示框实现方法详解
2015/11/26 Javascript
js,jq,css多方面实现简易下拉菜单功能
2017/05/13 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
Vue.js用法详解
2017/11/13 Javascript
关于angularJs清除浏览器缓存的方法
2017/11/28 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
微信小程序实现列表页的点赞和取消点赞功能
2018/11/02 Javascript
node获取客户端ip功能简单示例
2019/08/24 Javascript
vue-resourc发起异步请求的方法
2020/02/11 Javascript
原生js canvas实现鼠标跟随效果
2020/08/02 Javascript
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
在Python中操作文件之seek()方法的使用教程
2015/05/24 Python
python实现彩色图转换成灰度图
2019/01/15 Python
Python下简易的单例模式详解
2019/04/08 Python
Python换行与不换行的输出实例
2020/02/19 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
python 基于opencv去除图片阴影
2021/01/26 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
Nike台湾官方商店:Nike.com (TW)
2017/08/16 全球购物
巴西购物网站:Submarino
2020/01/19 全球购物
什么是java序列化,如何实现java序列化
2012/11/14 面试题
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
应用化学专业本科生求职信
2013/09/29 职场文书
大学生职业规划论文
2014/01/11 职场文书
商超业务员岗位职责
2014/03/12 职场文书
大学毕业生管理学求职信
2014/09/01 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
童年读书笔记
2015/06/26 职场文书