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 相关文章推荐
TMDPHP 模板引擎使用教程
Mar 13 PHP
基于php常用函数总结(数组,字符串,时间,文件操作)
Jun 27 PHP
Linux系统下php获得系统分区信息的方法
Mar 30 PHP
简单谈谈PHP vs Node.js
Jul 17 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
May 06 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
yii2利用自带UploadedFile实现上传图片的示例
Feb 16 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
Jan 29 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
Feb 15 PHP
tp5修改(实现即点即改)
Oct 18 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随机生成福彩双色球号码的2种方法
2013/02/04 PHP
PHP实现合并discuz用户
2015/08/05 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
JavaScript 创建对象
2009/07/17 Javascript
JavaScript 组件之旅(一)分析和设计
2009/10/28 Javascript
javascript date格式化示例
2013/09/25 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
使用jquery插件qrcode生成二维码
2015/10/22 Javascript
AngularJS基础 ng-keyup 指令简单示例
2016/08/02 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
详解Vue方法与事件
2017/03/09 Javascript
Vue调试神器vue-devtools安装方法
2017/12/12 Javascript
JS实现点击li标签弹出对应的索引功能【案例】
2019/02/18 Javascript
Vue 解决父组件跳转子路由后当前导航active样式消失问题
2020/07/21 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
Python fileinput模块使用介绍
2014/11/30 Python
python修改字典内key对应值的方法
2015/07/11 Python
Python分治法定义与应用实例详解
2017/07/28 Python
详解python的argpare和click模块小结
2019/03/31 Python
Python数据类型之Tuple元组实例详解
2019/05/08 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
python和C++共享内存传输图像的示例
2020/10/27 Python
Python self用法详解
2020/11/28 Python
中东奢侈品市场:Coveti
2019/05/12 全球购物
学生感冒英文请假条
2014/02/04 职场文书
服务员岗位责任制
2014/02/11 职场文书
入党积极分子自我鉴定
2014/02/18 职场文书
2014年乡镇领导个人整改措施
2014/09/19 职场文书
县委常委班子专题民主生活会查摆问题及整改措施
2014/09/27 职场文书
校长新学期致辞
2015/07/30 职场文书
Python+Appium新手教程
2021/04/17 Python
vue使用element-ui按需引入
2022/05/20 Vue.js