新手,从asp转php勿怪!
有文件
a.php
b.phpb.php代码
===========================
function test(){echo "test";}
===========================a.php
使用代码(正常代码)
===========================
include("b.php");
test();
===========================使用代码(错误代码)
===========================
test();
include("b.php");
===========================
何解?
是不是include本身就属于函数
所以不存在函数内部的函数预防编译问题includephpaspfunction

解决方案 »

  1.   

    include相当于把b.php文件中的函数放入到a.php在还没有include之前就调用b.php文件中的函数,当然会出错
      

  2.   

    本帖最后由 xuzuning 于 2013-02-17 20:44:08 编辑
      

  3.   

    楼上两位已经解释了原因。补充一点:
    include、include_once、require、require_once都是语言结构而非函数。
      

  4.   

    对于php中函数的理解有没有什么比较好的方法,看了上面的回答之后总是感觉自己的理解似是而非的
      

  5.   

    呵呵
    asp中的<!--#include file="xxxx"-->有IIS脚本预编译,不存在php的问题
      

  6.   

    以我个人浅见
    php中的include、include_once、require、require_once都属于内部函数
    而用其引用文件
    那么该文件的函数或者类也就成了
    include、include_once、require、require_once
    函数的内部函数或者类
    那么只能先声明再使用了
    因为先调用了include、include_once、require、require_once
    才开始编译include、include_once、require、require_once引用文件的函数和类
    而不是一次编译随处使用