你的错误和函数的具体实现无关,是调用错误。
如果是在类本身调用应该$this->assign ($t_array, $trailer="");
如果实在实例中调用应该是
$instance = new instance();
$instance->assign ($t_array, $trailer="");

解决方案 »

  1.   

    我是在实例中调用的。
    $t->assign(
    array(
    'title' =>$title,
    'fid' =>$fid
    ))
    对不?
      

  2.   

    ob_start();
    ob_end_flush();这个又是什么意思?
      

  3.   

    ob_start();
    表示打开输出缓冲,就是说你的输出将输出的到缓冲中,不会直接显示出来
    你还可以对缓冲区中的数据继续操作ob_end_flush();
    表示释放输出缓冲,就是说把缓冲区的东西都显示啦
      

  4.   

    我改来改去,还是提示Call to undefined function: assign()这句错。。
    我是在实例中调用的。
    $t=new template("moban");
    $t->assign(
    array(
    'title' =>$title,
    'fid' =>$fid //后面还有省略
    ))
    对不?
      

  5.   

    谢谢faucet(大水龙头)帮我解释。
    如果要操作,一般是怎么样的呢?
      

  6.   

    有一种可能,你实例化的并不是你期望的template类。
      

  7.   

    应该我再次强调你的代码调用方式不对.
    $t=new template("moban");
    $t->assign(
    array(
    'title' =>$title,
    'fid' =>$fid //后面还有省略
    ))
    对不?对于这个调用首先函数assign应该是template("moban")中的一个函数,如果不是的肯定找不到,一个类没有这个函数,你硬说这个类有这个函数,类不会报错吗?肯定会
      

  8.   

    这个函数是某个类的方法,本身并无错误
    测试:
    <?php
    class A {
    function assign ($t_array, $trailer="")
        {
            if(gettype($t_array) == "array")
            {
                while ( list ($key,$val) = each ($t_array) )
                {
                    if (!(empty($key)))
                    {
                        //  Empty values are allowed
                        //  Empty Keys are NOT
                        $this->PARSEVARS["$key"] = $val;
                    }
                }
            }
            else
            {
                // Empty values are allowed in non-array context now.
                if (!empty($t_array))
                {
                    $this->PARSEVARS["$t_array"] = $trailer;
                }
            }
        } 
    }$fool = new A;
    $fool->assign(array(a=>123,b=>"abc"));
    print_r($fool);
    ?>
    结果
    a Object
    (
        [PARSEVARS] => Array
            (
                [a] => 123
                [b] => abc
            ))根据你给出的错误信息
    Call to undefined function: assign()
    应该是该类的这个方法的上一个方法定义有误,把该方法包进去了