append()

append() -- append an element to an assigned array

Description

void append ( mixed var)

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

If you append to a string value, it is converted to an array value and then appended to. You can explicitly pass name/value pairs, or associative arrays containing the name/value pairs. 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

<?php
// This is effectively the same as assign()
$smarty->append('foo''Fred');
// After this line, foo will now be seen as an array in the template
$smarty->append('foo''Albert');

$array = array(=> 'one'=> 'two');
$smarty->append('X'$array);
$array2 = array(=> 'three'=> 'four');
// The following line will add a second element to the X array
$smarty->append('X'$array2);

// passing an associative array
$smarty->append(array('city' => 'Lincoln''state' => 'Nebraska'));
?>

See also append_by_ref(), assign() and get_template_vars()