$database_row=$superdata();
当我去掉$superdata()的()时。显示的是字符串,
在代码里也没找到定义 $superdata();
直接运行echo $superdata();就生成了1个页面了

解决方案 »

  1.   

    $superdata 是一个字符串
    但这个字符串应该是原先定义的一个方法, 你可以在代码里查找一下
      

  2.   


    $database_row = call_user_func($superdata);// 也可以用call_user_func()
      

  3.   

    echo $superdata,这个就是方法名把,你去找到这个方法。
      

  4.   

    这是php当中的动态函数:function update(){
      ...
    }$superdata = "update";
    $database_row=$superdata();//相当于$database_row=update()但update函数必须有存在
      

  5.   


    function abc(){
       ~~~~~~~~~
    }$superdata = abc;
    $superdata(); 
    运行$superdata() 就是运行abc();
      

  6.   

    楼主再看看这个列子,估计就会懂什么是动态函数了
    <HTML>
    <HEAD>
    <TITLE>动态调用函数</TITLE>
    </HEAD>
    <BODY>
    <FONT SIZE=5>
    <?php
     function write($text)  //定义function write()函数
     {
      print($text);  //打印字符串
     } function writeBold($text) //定义function write()函数
     {
      print("<B>$text</B>"); //打印字符串
     } $myFunction = "write";  //定义变量
     $myFunction("你好!<BR>"); //由于变量后面有括号,所以找名字相同的function函数
     print("<BR>\n");
     $myFunction = "writeBold"; //定义变量
     $myFunction("再见!");  //由于变量后面有括号,所以找名字相同的function函数
     print("<BR>\n");
    ?>
    </FONT>
    </BODY>
    </HTML>