在条件内定义函数

时间:2010-08-25 09:53:32

标签: php

Snippet 1可以使用。小片2没有。为什么呢?

1

foo();

function foo()
{
    // do soemething
}

2

foo();

if(!function_exists("foo"))
{
    function foo()
    {
        // do soemething
    }
}

2 个答案:

答案 0 :(得分:11)

请参阅http://www.php.net/manual/en/functions.user-defined.php

  

之前不需要定义函数   它们被引用,除了a   功能是有条件定义的 [...]   其定义必须事先处理   被召唤。

答案 1 :(得分:6)

你试图在测试之前执行foo()以查看它是否被定义(并随后定义它)

if(!function_exists("foo")) 
{ 
    function foo() 
    { 
        // do soemething 
    } 
} 

foo();