append_by_ref()

append_by_ref() -- 根据引用增加值

描述

void append_by_ref ( string varname, mixed var [, bool merge])

    该函数用来在模板中通过引用append()数值。如果你通过引用来增加一个变量,然后修改了变量值,那么被增加的值也会相应变化。对于对象而言,append_by_ref()也避免了增加对象在内存的拷贝。更详细的描述可以参见PHP手册中关于变量因哟你的章节。如果第三个可选参数为TRUE,值将与当前数组合并而不是添加。

技术注解:merge参数参考数组键,因此如果你合并两个数组索引的数组,它们可能会互相覆盖或者得到非线性的键。这个不同于PHP的array_merge()函数,后者将先取消所有数字索引,然后重新编排。

例子13-1. append_by_ref

<?php
// 增加名/值对
$smarty->append_by_ref('Name'$myname);
$smarty->append_by_ref('Address'$address);
?>

    参见append()assign()get_template_vars()