append() — 割り当てられたテンプレート配列に要素を追加します。
void append(mixed var);
void append(string varname,
mixed var,
bool merge);
もし文字列を追加する場合は、 配列の値としてコンバートされた後に追加されます。
配列名/値のペアを明示的に指定するか、それらが格納された連想配列を指定します。
配列ではないテンプレート変数に対して追加した場合、
その変数を配列に変換した後で追加されます。 任意の第3パラメータに TRUE
が渡された場合は、値は現在のテンプレート配列に追加される代わりにマージされます。
merge
パラメータは配列のキーを尊重するので、
インデックスが数値である2つの配列をマージする場合、
それらはお互い上書きされるか不連続なキーの配列になるかもしれません。
これは、数値のキーを全て削除した後に再びキーに番号付けを行う、PHP
の array_merge()
関数とは違っています。
Example 13.1. 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 に2番目の要素を追加します $smarty->append('X', $array2); // 連想配列を渡します $smarty->append(array('city' => 'Lincoln', 'state' => 'Nebraska')); ?>
append_by_ref()
、
assign()
および
get_template_vars()
も参照してください。