2010-12-13 15 views
0

Ich versuche, eine einfache Funktion, etwas zum Effekt von (Pseudo-Code)PHP-Funktionen, Syntaxfehler?

function sayBlah() 
{ 
    return "blah"; 
} 

$sayit = sayBlah(); 

echo $sayit; 

Aber ich werde immer folgende Fehlermeldung auszuführen:

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

+5

Dieser Code allein wird diesen Fehler nicht erzeugen. Du hast dich zu sehr vereinfacht. –

+0

Haben Sie auch "Zeile X" untersucht? Und warum würdest du eine Funktion 'sayBlah' nennen? – mario

+0

Ist die Fehlermeldung nicht selbsterklärend? Sie haben die zuvor an der angegebenen Stelle deklarierte Funktion neu deklariert. – Gumbo

Antwort

3

Dies wird Sie wahrscheinlich verursacht wird, wenn Fügen Sie eine Datei zweimal hinzu. Manchmal ist das nicht trivial, weil die Zeilennummern in der Fehlermeldung der Datei entsprechen, in der sie enthalten ist.

I.e. Wir haben drei Dateien. Datei A. Datei B Datei A. Datei C enthält, enthält die Datei A und Datei B.

Dann, wenn Sie eine Funktion in der Datei A deklarieren, wird es zweimal deklariert werden, weil Sie Datei einschließlich A zweimal. Einmal direkt und einmal indirekt.

Sie können dies lösen, indem Sie Ihre Require-/Include-Aufrufe durch require_once- bzw. include_once-Aufrufe ersetzen.

+0

Das war es total! Vielen Dank!! – redconservatory