Smarty之assign赋数组append赋值
2015-10-18 16:11
459 查看
assign赋数组过程
append赋多个值,成索引数组
<?php
/*assign 赋值数组
append 连续赋值*/
require('../../smarty3/libs/Smarty.class.php');
$smarty=new Smarty();
$smarty->template_dir='./temp';
$smarty->compile_dir='./comp';
$user=array('name'=>'sonia','age'=>'100');
$smarty->assign('user',$user);
/*赋值发生了什么
smarty/libs/sysplugins/smarty_interal_data.php
public function assign($tpl_var, $value = null, $nocache = false)
{
if (is_array($tpl_var)) {
foreach ($tpl_var as $_key => $_val) {
if ($_key != '') {
$this->tpl_vars[$_key] = new Smarty_Variable($_val, $nocache);
就看这一段,assign收到的是数组,其实就是$this->tpl_vars[$_key] =$_val===>foreach($arr as $k =>$v)... $this->tpl_vars[name] =sonia
相当于把name当成单个值assign给类内的数组;
*/
$city=array('a'=>array('b'=>array('c'=>'bk')));
/*多维数组*/
$smarty->assign('city',$city);
/*append连续往某一个标签赋很多值*/
$smarty->append('num','2015');
$smarty->append('num','2050');
/*public function append($tpl_var, $value = null, $merge = false, $nocache = false)
{...
$this->tpl_vars[$tpl_var]->value[] = $value;
===>>>num[]=2015 num[]=2050
*/
$smarty->display('temp3.html');
?>temp3.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>temp3</title>
</head>
<body>
<h1>{$user.name}</h1>
<h2>{$city.a.b.c}</h2>
<h3>{$num[0]}</h3>
<h3>{$num[1]}</h3>
</body>
</html>
append赋多个值,成索引数组
<?php
/*assign 赋值数组
append 连续赋值*/
require('../../smarty3/libs/Smarty.class.php');
$smarty=new Smarty();
$smarty->template_dir='./temp';
$smarty->compile_dir='./comp';
$user=array('name'=>'sonia','age'=>'100');
$smarty->assign('user',$user);
/*赋值发生了什么
smarty/libs/sysplugins/smarty_interal_data.php
public function assign($tpl_var, $value = null, $nocache = false)
{
if (is_array($tpl_var)) {
foreach ($tpl_var as $_key => $_val) {
if ($_key != '') {
$this->tpl_vars[$_key] = new Smarty_Variable($_val, $nocache);
就看这一段,assign收到的是数组,其实就是$this->tpl_vars[$_key] =$_val===>foreach($arr as $k =>$v)... $this->tpl_vars[name] =sonia
相当于把name当成单个值assign给类内的数组;
*/
$city=array('a'=>array('b'=>array('c'=>'bk')));
/*多维数组*/
$smarty->assign('city',$city);
/*append连续往某一个标签赋很多值*/
$smarty->append('num','2015');
$smarty->append('num','2050');
/*public function append($tpl_var, $value = null, $merge = false, $nocache = false)
{...
$this->tpl_vars[$tpl_var]->value[] = $value;
===>>>num[]=2015 num[]=2050
*/
$smarty->display('temp3.html');
?>temp3.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>temp3</title>
</head>
<body>
<h1>{$user.name}</h1>
<h2>{$city.a.b.c}</h2>
<h3>{$num[0]}</h3>
<h3>{$num[1]}</h3>
</body>
</html>
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料