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

  1. <?php
  2. // 直接使用和assign()差不多
  3. $smarty->append('foo', 'Fred');
  4. // 这里,foo已经变成了模板中的一个数组。
  5. $smarty->append('foo', 'Albert');
  6.  
  7. $array = array(1 => 'one', 2 => 'two');
  8. $smarty->append('X', $array);
  9. $array2 = array(3 => 'three', 4 => 'four');
  10. // 下面会增加第二个X数组的元素
  11. $smarty->append('X', $array2);
  12.  
  13. // 传递联合数组
  14. $smarty->append(array('city' => 'Lincoln', 'state' => 'Nebraska'));
  15. ?>
  16.  

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

原文: https://www.smarty.net/docs/zh_CN/api.append.tpl