Snippet 1可以使用。小片2没有。为什么呢?
1
foo();
function foo()
{
// do soemething
}
2
foo();
if(!function_exists("foo"))
{
function foo()
{
// do soemething
}
}
答案 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();