{assign} 局部注册变量

{assign}用于在模板运行期间赋值给变量,使用该标签注册的变量仅为局部使用。

全局注册 请查阅{global} 全局注册变量标签。

在模板中进行赋值,从根本上讲还是将程序逻辑放到显示层来进行了,在php端进行此操作会更好。请自行考虑。

assign 可以使用表达式方式赋值变量,或者 使用 属性方式:
表达式方式
$name='value'

属性方式:
var : 需要注册的变量名称,只可以是 字母数字下划线 。
value: 赋值的值。

如:

{assign $name='sdopx'}
The value of $name is {$name}.
{assign var=myname value='wj008'}
The value of $myname is {$myname}.
{assign var=data value=['name'=>'wj008','sex'=>'男']}
{assign $data.email='sdopx@xxx.com'}
名字:{$data.name},性别:{$data['sex']},邮箱:{$data.email}

这里的变量只在当前页面使用,不可跨页面,比如{include} {extends } 进来的页面不可以使用,具有作用域保护。


拼接赋值:

{assign var=name value='Bob'}
{assign $hello=`hello {$name}`}
{$hello}.

运算赋值:

{assign $a=3}
{assign $b=4}
{assign $c=$a+$b}
{$a}+{$b}={$c}.

自增自减:

{assign $a=3}
{assign $a++}  --4--:
{$a}
{assign $a+=2}  --6--:
{$a}
{assign $a-=4}  --2--:
{$a}

作用域保护:

{for $i=0; $i<=3; $i++}
 {assign $str=`key:{$i}`}
<div>这里会输出:{$str}</div>
{/for}

<div>因为是局部变量,这里不会输出:{$str|default:''}</div>

运行结果:

    <div>这里会输出:key:0</div>

    <div>这里会输出:key:1</div>

    <div>这里会输出:key:2</div>
    
    <div>这里会输出:key:3</div>

<div>因为是局部变量,这里不会输出:</div>
上一篇:内置标签
下一篇:{global} 全局注册变量
Copyright © 2021 海南的叶子 All Rights Reserved 琼ICP备2021000725号

琼公网安备 46900702000037号