What is Smarty?
Why use it?
Use Cases and Work Flow
Syntax Comparison
Template Inheritance
Best Practices
Crash Course
You may use the Smarty logo according to the trademark notice.
For sponsorship, advertising, news or other inquiries, contact us at:
append_by_ref() — append values by reference
void append_by_ref(string varname,
mixed var,
bool merge);
This is used to
append()
values
to the templates by reference.
If you append a variable by reference then change its
value, the appended value sees the change as well. For
objects,
append_by_ref()
also avoids an in-memory copy of the
appended object.
See the PHP manual on variable referencing for an in-depth
explanation. If you pass the optional third parameter of TRUE
,
the value will be merged with the current array instead of appended.
The merge
parameter respects array keys, so if
you merge two numerically indexed arrays, they may overwrite each other
or result in non-sequential keys. This is unlike the PHP
array_merge()
function
which wipes out numerical keys and renumbers them.
Example 13.2. append_by_ref
<?php // appending name/value pairs $smarty->append_by_ref('Name', $myname); $smarty->append_by_ref('Address', $address); ?>
See also
append()
,
assign()
and
get_template_vars()
.