smarty指定字符串、对象、数组等的简单使用

首先是show.tpl文件的内容,该文件放置在templates文件夹下

<span style="font-size:18px;"><title>smarty的用例</title>
<h1>smarty的用例</h1>
<{*这是注释*}>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<hr>
<br>*****取字符串*****<br>
<{*演示获取字符串*}>
<{$str}>
<br>*****取整数*****<br>
<{$integer}>
<br>*****取小数*****<br>
<{$float}>
<br>*****取布尔值*****<br>
<{$bool}>
<br>*****取索引数组*****<br>
数组元素一-><{$arr[0]}><br>
数组元素二-><{$arr[1]}><br>
数组元素三-><{$arr[2]}><br>

<br>*****取关联数组*****<br>
数组元素一-><{$arr2.city1}><br>
数组元素二-><{$arr2.city2}><br>
数组元素三-><{$arr2.city3}><br>

<br>*****取二维数组*****<br>
二维数组中第一个数组元素一-><{$arr3[0][0]}><br>
二维数组中第一个数组元素二-><{$arr3[0][1]}><br>
二维数组中第一个数组元素三-><{$arr3[0][2]}><br>
<br>********************<br>
二维数组中第二个数组元素一-><{$arr3[1][0]}><br>
二维数组中第二个数组元素二-><{$arr3[1][1]}><br>
二维数组中第二个数组元素三-><{$arr3[1][2]}><br>

<br>*****取二维关联数组*****<br>
二维数组中第一个数组元素一-><{$arr4[0].id}><br>
二维数组中第一个数组元素二-><{$arr4[0].username}><br>
二维数组中第一个数组元素三-><{$arr4[0].pwd}><br>
<br>********************<br>
二维数组中第二个数组元素一-><{$arr4[1].id}><br>
二维数组中第二个数组元素二-><{$arr4[1].username}><br>
二维数组中第二个数组元素三-><{$arr4[1].pwd}><br>

<br>*****取二维数组内关联数组*****<br>
二维数组中第一个数组元素一-><{$arr5.emp1.id}><br>
二维数组中第一个数组元素二-><{$arr5.emp1.username}><br>
二维数组中第一个数组元素三-><{$arr5.emp1.pwd}><br>
<br>********************<br>
二维数组中第二个数组元素一-><{$arr5.emp2.id}><br>
二维数组中第二个数组元素二-><{$arr5.emp2.username}><br>
二维数组中第二个数组元素三-><{$arr5.emp2.pwd}><br>

<br>*****取二维数组内索引数组*****<br>
二维数组中第一个数组元素一-><{$arr6.emp1[0]}><br>
二维数组中第一个数组元素二-><{$arr6.emp1[1]}><br>
二维数组中第一个数组元素三-><{$arr6.emp1[2]}><br>
<br>********************<br>
二维数组中第二个数组元素一-><{$arr6.emp2[0]}><br>
二维数组中第二个数组元素二-><{$arr6.emp2[1]}><br>
二维数组中第二个数组元素三-><{$arr6.emp2[2]}><br>

<br>*****取出对象*****<br>
对象的属性$dog->name=<{$dog->name}><br>
对象的属性$dog->age=<{$dog->age}><br>
对象的属性$dog->color=<{$dog->color}><br>
对象的属性数组的值$dog->arr[0]=<{$dog->arr[0]}><br>
对象的属性数组的值$dog->arr[1]=<{$dog->arr[1]}><br>
对象的属性数组的值$dog->arr[2]=<{$dog->arr[2]}><br>

</span>

下面是自己写的smarty.php文件的内容,使用该文件的前提是smarty已经配置完成

<span style="font-size:18px;"><?php
require_once './libs/Smarty.class.php';
date_default_timezone_set ( "Asia/Chongqing" );
header ( '<meta http-equiv="content-type" content="text/html;charset=utf-8/>"' );
$smarty = new Smarty ();
$smarty->left_delimiter = "<{";
$smarty->right_delimiter = "}>";
$smarty->assign ( "str", "hello" );
$smarty->assign ( "integer", 12 );
$smarty->assign ( "float", 100.0 );
$smarty->assign ( "bool", true );

// 索引数组
$arr = array (
		"上海",
		"北京",
		"天津"
);
$smarty->assign ( "arr", $arr );
// 关联数组
$arr2 = array (
		'city1' => "上海",
		'city2' => "北京",
		'city3' => "天津"
);
$smarty->assign ( "arr2", $arr2 );

// 二维数组
$arr3 = array (
		array (
				"上海",
				"北京",
				"天津"
		),
		array (
				"小倩",
				"老妖",
				"采臣"
		)
);
$smarty->assign ( "arr3", $arr3 );

$arr4 = array (
		array (
				"id" => 1,
				"username" => "wang",
				"pwd" => "123"
		),
		array (
				"id" => 3,
				"username" => "xu",
				"pwd" => "456"
		)
);
$smarty->assign ( "arr4", $arr4 );

$arr5 = array (
		'emp1' => array (
				"id" => 1,
				"username" => "wang",
				"pwd" => "123"
		),
		'emp2' => array (
				"id" => 3,
				"username" => "xu",
				"pwd" => "456"
		)
);
$smarty->assign ( "arr5", $arr5 );

$arr6 = array (
		'emp1' => array (
				1,
				"wang",
				"123"
		),
		'emp2' => array (
				3,
				"xu",
				"456"
		)
);
$smarty->assign ( "arr6", $arr6 );

// 分配对象
class Dog {
	var $name;
	var $age;
	var $color;
	var $arr;
	function __construct($name, $age, $color,$arr) {
		$this->name = $name;
		$this->age = $age;
		$this->color = $color;
		$this->arr = $arr;
	}
}
//实例化对象
$dog = new Dog("小明",11, "RED",$arr);
$smarty->assign("dog",$dog);
$smarty->display ( "show.tpl" );
?></span>

smarty指定字符串、对象、数组等的简单使用

时间: 2024-09-27 07:36:23

smarty指定字符串、对象、数组等的简单使用的相关文章

JS 字符串对象 数组对象 函数对象 函数作用域

一.内置对象 object对象:ECMAScript 中的所有对象都由这个对象继承而来:Object 对象中的所有属性和方法都会出现在其他对象中 ToString() : 返回对象的原始字符串表示.ValueOf() : 返回最适合该对象的原始值.对于许多对象,该方法返回的值都与 ToString() 的返回值相同 11种内置对象 包括: Array ,String , Date, Math, Boolean, Number  Function, Global, Error, RegExp ,

ES6 set和map数据结构对对象数组去重简单实现

自从有了es6的set数据结构,数组的去重可以简单用一行代码实现,比如下面的方式 let arr = [1, 2, 2, 3, 4] function unique (arr) { return [...new Set(arr)] } console.log(unique(arr)) // [1, 2, 3, 4] 但是当数组的项不再是简单的数据类型时,比如是对象时,这种方法就会导致错误,比如下面的结果 let arr = [ { name: 'a', num: 1}, { name: 'b',

【C++基础学习】成员对象与对象数组

第一部分 对象成员与对象数组 从一个简单的例子开始说起,首先定义一个Coordinate的类,里面有两个公有的成员变量m_iX和m_iY,分别代表横坐标和纵坐标. 接下来,定义一个对象数组cood和一个指向一个对象数组的指针p: 那么,coord和p究竟有何不同呢? 初始化的时候,先初始化m_CoorA和m_CoorB,接着初始化Line; 析构的时候是相反的过程,先析构Line,再分别析构m_CoorA和m_CoorB. 第二部分 深拷贝与浅拷贝 第三部分 常成员函数

对JavaScript对象数组按指定属性和排序方向进行排序

引子 在以数据为中心的信息系统中,以表格形式展示数据是在常见不过的方式了.对数据进行排序是必不可少的功能.排序可以分为按单个字段排序和按多个字段不同排序方向排序.单字段排序局限性较大,不能满足用户对数据的关注点变化的需求,而多字段排序就可以较好的弥补这个缺陷. 多字段排序,实现的方式从大的层面上可以分为后端实现和前端实现. 后端排序 后端实现排序可以在数据库层面实现或者在应用程序层面实现. 数据库层面实现多字段排序非常简单,使用SQL的排序指令“Order By”即可——Order By fie

js字符串、数组、时间、日期对象

js对字符串.数组.日期的操作是在以后项目中频繁使用的操作,所以呢....所以大家看着办,其实并不难哈,就是有点无聊,我承认这是我百度的,哈哈哈哈 <!DOCTYPE html><html><head><meta charset="UTF-8"><title>JavaScript字符串对象</title></head><body><script type="text/java

javascript-js将form表单序列化[json字符串、数组、对象]

1.序列化为字符串 $("#Form").serialize();//name=zhangsan&sex=1&age=20   2.序列化为数组 $("#form").serializeArray();//[Object, Object, Object] 3.序列化为对象 function getFormJson(form) { var o = {}; var a = $(form).serializeArray(); $.each(a, funct

数组的创建/查找数组里面的内容/添加数组中元素/使用指定的字符串把数组链接起来/判断数组内是否有指定的数组元素/四种遍历进行输出数组中的元素有哪些

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //创建数组 //1.快速创建数组@[] NSArray*[email protected][@"month",@"tue",@" wed",@"fir"]; //2,创建空的数组 NSArray*arr=[[NSArray a

json对象与字符串的相互转换,数组和字符串的转换

1.json对象转换为字符串 JSON.stringify(value [, replacer] [, space])  var student = new Object(); student.id = "001"; student.name = "程陈"; student.age = "18"; var str = JSON.stringify(student); //{"id":"001","

字符串,数组,数值,对象的扩展

//字符串 1. includes(str) : 判断是否包含指定的字符串 2. startsWith(str) : 判断是否以指定字符串开头 3. endsWith(str) : 判断是否以指定字符串结尾 4. repeat(count) : 重复指定次数 //数值 1. 二进制与八进制数值表示法: 二进制用0b, 八进制用0o 2. Number.isFinite(i) : 判断是否是有限大的数 3. Number.isNaN(i) : 判断是否是NaN 4. Number.isIntege