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.
- <?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()