smarty模板引擎之分配数据类型_php实例

本文实例讲述了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/> 

浏览器显示结果:

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/>

浏览器显示结果:

三、分配复合数据之对象

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/> 

浏览器显示结果

希望本文所述对大家的php程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索smarty
, 数据类型
, 模板引擎
分配
模板引擎类型、模板引擎、js 模板引擎、php模板引擎、java模板引擎,以便于您获取更多的相关知识。

时间: 2024-08-01 11:44:14

smarty模板引擎之分配数据类型_php实例的相关文章

smarty模板引擎之分配数据类型

 这篇文章主要介绍了smarty模板引擎之分配数据类型,实例分析了smarty模板引擎数据类型的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了smarty模板引擎之分配数据类型用法.分享给大家供大家参考.具体分析如下: 一.分配基本数据 ? 1 2 3 4 5 6 7 8 9 10 11 //分配基本数据 $smarty->assign("str","hello smarty!"); $smarty->assign(&quo

smarty模板引擎基础知识入门_php实例

本文实例讲述了smarty模板引擎基础知识.分享给大家供大家参考.具体如下: 一.基本概念 1.什么是mvc? mvc是一种开发模式,核心思想是:数据的输入.数据的处理.数据显示的强制分离. 2.什么是smarty? smarty是一个php的模板引擎.更明确的来说,它可以帮助开发者更好的分离程序逻辑和页面显示. 3.smarty运行原理 模板文件,就是一个显示数据的模板,其中需要显示的数据用占位符代替. smarty运行时,会读取模板文件,将模板文件中的占位符替换成真正的数据,并输出一个处理后

Twig模板引擎用法入门教程_php实例

本文实例讲述了Twig模板引擎用法.分享给大家供大家参考,具体如下: 介绍 Twig是一个灵活.高效并且安全的PHP模板引擎. 如果你使用过Smarty.Django或者Jinja这类基于文本的模板引擎的话,那么你会觉得Twig是很自然而然的事情.Twig严格遵守了PHP的信念,同时增加了在模板环境中很有用的函数,这些做法使得Twig不论是对设计师还是开发人员,都是非常友好的. Twig的主要特征有: 高效:Twig将模板编译成了优化了的PHP文件,与原生的PHP代码比较而言,性能损耗非常小.

Smarty模板变量调节器用法分析_php实例

本文讲述了Smarty模板变量调节器用法.分享给大家供大家参考,具体如下: 在smarty里面,怎么修饰文本和变量呢?当然,你可以通过php函数处理文本,然后再通过assign()方法分配到模板,其实smarty提供了变量调节器能够很容易的处理文本,语法方式如下: {$var|modifier1|modifier2|modifier3|-} 说明:1.不管应用了多少个函数,都应该以|来进行分离. 说明:2.参数用":"分开,如: {$str|truncate:40:"...&

php模板引擎技术简单实现_php实例

用了smarty,tp过后,也想了解了解其模板技术是怎么实现,于是写一个简单的模板类,大致就是读取模板文件->替换模板文件的内容->保存或者静态化  tpl.class.php主要解析 assign 方法实现      /** * 模板赋值操作 * @param mixed $tpl_var 如果是字符串,就作为数组索引,如果是数组,就循环赋值 * @param mixed $tpl_value 当$tpl_var为string时的值,默认为 null */ public function a

在Yii框架中使用PHP模板引擎Twig的例子_php实例

Twig是一款快速.安全.灵活的PHP模板引擎,它内置了许多filter和tags,并且支持模板继承,能让你用最简洁的代码来描述你的模板.他的语法和Python下的模板引擎Jinjia以及Django的模板语法都非常像. 比如我们在PHP中需要输出变量并且将其进行转义时,语法比较累赘: 复制代码 代码如下: <?php echo $var ?><?php echo htmlspecialchars(\$var, ENT_QUOTES, 'UTF-8') ?> 但是在Twig中可以这

smarty模板引擎从php中获取数据的方法_php实例

本文实例讲述了smarty模板引擎从php中获取数据的方法.分享给大家供大家参考.具体如下: smarty可以分配($smarty->assign)的变量类型:所有php支持的数据类型--基本数据类型.复合数据类型.特殊数据类型(具体见smarty相关手册). 操作/显示文件:index.php 复制代码 代码如下: <?php //创建smarty对象 require_once("./libs/Smarty.class.php"); $smarty = new Smart

PHP模板引擎Smarty自定义变量调解器用法_php实例

本文实例讲述了PHP模板引擎Smarty自定义变量调解器用法.分享给大家供大家参考,具体如下: 在 PHP 中,有很多处理文本的函数,您可以把要处理的文本通过函数处理之后,再调用 Smarty 模板引擎中的 assign() 赋值给变量,分配到模板中进行显示. Smarty 中的变量调解器和 PHP 中处理文本的函数相似,不过语法不相同,在 Smarty 中,是通过 "|" 后面直接跟调解器函数名,如果有参数,得加在 ":" 后面,多个参数的话,累加即可. 格式:{

PHP模板引擎Smarty内建函数foreach,foreachelse用法分析_php实例

本文实例讲述了PHP模板引擎Smarty内建函数foreach,foreachelse用法.分享给大家供大家参考,具体如下: 在 Smarty 模板中,您可以使用 foreach 来重复一个区块.而在模板中则需要从 PHP 中分配过来一个数组.这个数组可以是多维数组.Smarty 中 {foreach} 标记和 PHP 中 foreach 相同,不同的是它们的一个在模板文件中使用,一个在 PHP 脚本中使用.因此,语法会不同.但是,它们的作用都是相同的,即遍历数组中的内容.与 {foreach}