标题说的可能有点不清楚。我是这样的意思,比如c或者c++,我可以先声明一个函数原型,然后就可以调用这个函数了,函数的实现(定义)可以放在调用的后面。
比如
int getSum(int a, int b);    //函数原型声明
getSum(4, 6);
int getSum(int a, int b)
{
    return a + b;
}    
但是我想php是解释型的语言,这一点应该有所不同吧?因为他在解释到上一行的时候也不可能知道下面的事情吧。关键是我记得如果调用一个函数的时候没有定义的话,php会发出一个fatal error啊,可是我今天运行一段代码的时候却没有错误提示。
我写的够夸张的,我先调用了函数,然后把函数定义放在了调用的下一行。类似这样:
getSum(4, 6);    //函数原型声明function getSum($a, $b)
{
    return $a + $b;
}    

解决方案 »

  1.   


    不是啊,我php里面那样写出不来结果,也不给错误提示。奇怪了啊。不过,php里面有函数原型一说没?
      

  2.   

    php不需要预先声明变量及变量类型。它会根据实际用的时候自动识别
      

  3.   


    没有,php是解释完才执行, 函数放在后面没关系
      

  4.   

    这正式php和其他语言的一点不同
    先解释 在执行
      

  5.   

    没有结果是因为你没有echo
    修改
    echo getSum(4, 6);    //函数原型声明function getSum($a, $b)
    {
        return $a + $b;
    }  
      

  6.   

    晕,看来我没有表述清楚,我是想问是否可以把函数实现放在调用语句的后面?比如我一楼那段php语句,如果不可以,他也没有给错误提示。我又测试了一下,下面这段代码也运行正常啊,那就是可以先调用再定义咯??
    <?php
    echo getSum(4, 6);
    echo getmypid();
    function getSum($a, $b)
    {
    return $a + $b;
    }
    ?>
      

  7.   

    是的,可以把函数实现放在调用语句的后面虽然php是解释型的语言,但他并不是直接去解释代码文本
    其过程是这样的:
    先由语法分析程序将程序代码翻译成一种中间代码(俗称P指令),然后交由虚拟处理机(俗称P机器)完成成序的执行