2010-12-13 130 views
0

我想运行一个简单的功能,有事的(伪代码)PHP函数,语法错误?

function sayBlah() 
{ 
    return "blah"; 
} 

$sayit = sayBlah(); 

echo $sayit; 

的影响,但我不断收到以下错误信息:

Fatal error: Cannot redeclare sayBlah() previously declared on line X

+5

单独的代码不会产生该错误。你已经过分简化了。 – 2010-12-13 19:01:00

+0

另外,您是否调查过“X行”?你为什么要调用一个函数'sayBlah'? – mario 2010-12-13 19:03:49

+0

错误信息不是不言自明吗?您重新宣布了之前在上述位置宣布的功能。 – Gumbo 2010-12-13 19:07:43

回答

3

这可能导致当你包括一个文件两次。有时这不是微不足道的,因为错误消息中的行号对应于包含它的文件。

I.e.我们有三个文件。 文件A. 文件B,包括文件A. 文件C,包括文件A和文件B

然后,如果你在文件中的声明一个函数,它会因为你包括文件中的两次声明两次。一次直接,一次间接。

您可以通过分别使用require_once或include_once调用来替换require/include调用来解决此问题。

+0

这完全是它!谢谢!! – redconservatory 2010-12-13 19:29:30