呵呵,smarttemplate的网站我总上不去,要不帮你看看

解决方案 »

  1.   

    翻到了smarttemplate的源码:
    append在这里,除了你说的作用,还可以增加数组的元素,和smarty差不多 function append ( $name, $value )
    {
    if (is_array($value))
    {
    $this->data[$name][]  =  $value;
    }
    elseif (!is_array($this->data[$name]))
    {
    $this->data[$name]  .=  $value;
    }
    }
      

  2.   

    assign()方法是赋值,新值将覆盖旧值
    append()方法是追加,从名字上就可看出。新值将附加在旧值之后
      

  3.   

    为什么把新值附加在旧值之后呢?把值重新"$val.=$val"后在assign不也一样的效果吗?那为什么要附加呢?有人提到这个问题了,我才想起来的
      

  4.   

    是的,把值重新"$val.=$val"后在assign也是一样的效果。
    不过这样你就得自己维护$val了,如果$val是数组的话用$val.=$val就不正确了
      

  5.   

    哦,那$smarty中有这样的append的用法吗?
      

  6.   

    有啊append
    void append(mixed var);
    void append(string varname, mixed var);
    void append(string varname, mixed var, boolean merge);// passing name/value pairs
    $smarty->append("Name","Fred");
    $smarty->append("Address",$address);// passing an associative array
    $smarty->append(array("city" => "Lincoln","state" => "Nebraska"));