Name

append() — 把值追加到数组。

说明

void append(mixed var);
void append(string varname,
            mixed var,
            bool merge);

在追加的时候,字符串将转换成数组的值。你可以显式传递键值对,或是联合数组。如果设置第三个参数为true时,该值将合并到原有数组上而并非追加。

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 14.4. append()


<?php
// 直接使用和assign()差不多
$smarty->append('foo', 'Fred');
// 这里,foo已经变成了模板中的一个数组。
$smarty->append('foo', 'Albert');

$array = array(1 => 'one', 2 => 'two');
$smarty->append('X', $array);
$array2 = array(3 => 'three', 4 => 'four');
// 下面会增加第二个X数组的元素
$smarty->append('X', $array2);

// 传递联合数组
$smarty->append(array('city' => 'Lincoln', 'state' => 'Nebraska'));
?>

   

参见 appendByRef(), assign()getTemplateVars()