名前

append() — 割り当てられたテンプレート配列に要素を追加します。

説明

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

もし文字列を追加する場合は、 配列の値としてコンバートされた後に追加されます。 配列名/値のペアを明示的に指定するか、それらが格納された連想配列を指定します。 配列ではないテンプレート変数に対して追加した場合、 その変数を配列に変換した後で追加されます。 任意の第3パラメータに TRUE が渡された場合は、値は現在のテンプレート配列に追加される代わりにマージされます。

テクニカルノート

merge パラメータは配列のキーを尊重するので、 インデックスが数値である2つの配列をマージする場合、 それらはお互い上書きされるか不連続なキーの配列になるかもしれません。 これは、数値のキーを全て削除した後に再びキーに番号付けを行う、PHP の array_merge() 関数とは違っています。

例 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 に2番目の要素を追加します
$smarty->append('X', $array2);

// 連想配列を渡します
$smarty->append(array('city' => 'Lincoln', 'state' => 'Nebraska'));
?>

   

appendByRef()assign() および getTemplateVars() も参照してください。