append_by_ref()
void append_by_ref ( string varname, mixed var [, bool merge])
これは参照によってテンプレートに変数を追加するのに使用されます。
参照による値が追加された場合は、その値が変更されると追加された元の値も変更されます。
オブジェクトについても、append_by_ref() は追加されたオブジェクトをメモリ内にコピーする事を避けます。
詳細は、PHP マニュアルの"リファレンスの説明"を参照して下さい。
任意の第3パラメータにtrueが渡された場合は、値は現在のテンプレート配列に追加される代わりにマージされます。
参照による値が追加された場合は、その値が変更されると追加された元の値も変更されます。
オブジェクトについても、append_by_ref() は追加されたオブジェクトをメモリ内にコピーする事を避けます。
詳細は、PHP マニュアルの"リファレンスの説明"を参照して下さい。
任意の第3パラメータにtrueが渡された場合は、値は現在のテンプレート配列に追加される代わりにマージされます。
テクニカルノート: merge パラメータは配列のキーを尊重するので、インデックスが数値である2つの配列をマージする場合、それらはお互い上書きされるか不連続なキーの配列になるかもしれません。これは、数値のキーを全て削除した後に再びキーに番号付けを行う、phpのarray_merge()関数とは違っています。
例 1. append_by_ref
<?php$smarty->append_by_ref("Name", $myname);
$smarty->append_by_ref("Address", $address);
?>