2010-12-13 86 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