Smarty Manual
Prev |  | Next

# append_by_ref()

append_by_ref() -- append values by reference

## Description

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.

> Technical Note: 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-1. 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()`.

Prev | Home | Next
append() | Up | assign()