Ich habe eine Anforderung ("config.php") mit Arrays, aber immer noch Undefined Variable error

7

Ich habe eine Funktion, die ungefähr so ​​aussieht:

%Vor%

und eine config.php, die ungefähr so ​​aussehen:

%Vor%

Warum bekomme ich Hinweis: Nicht definierte Variable: car_park ?

    
ganjan 28.06.2010, 21:48
quelle

3 Antworten

14

Versuchen Sie,

hinzuzufügen %Vor%

in Ihrer Funktion. Wenn Sie die Definition von $ car_park einbeziehen, erstellt es eine globale Variable, und um innerhalb einer Funktion auf dieses zuzugreifen, müssen Sie es als global deklarieren oder über $ GLOBALS superglobal darauf zugreifen.

Weitere Informationen finden Sie in der Handbuchseite zum Variablenumfang .

    
Paul Dixon 28.06.2010, 21:49
quelle
10

Obwohl Paul beschreibt, was vor sich geht, werde ich versuchen, es noch einmal zu erklären.

Wenn Sie eine Variable erstellen, gehört sie zu einem bestimmten Bereich. Ein Bereich ist ein Bereich, in dem eine Variable verwendet werden kann.

Zum Beispiel wenn ich das tun sollte

%Vor%

Die Variable ist in der Funktion nicht erlaubt, weil sie nicht innerhalb der Funktion erstellt wurde. Damit es in einer Funktion funktioniert, müssen Sie das globale Schlüsselwort verwenden, damit das folgende Beispiel funktioniert.

%Vor%

Dies ist umgekehrt, so dass Sie Folgendes nicht tun können

%Vor%

Es gibt ein paar Möglichkeiten, aber die einfachste Methode ist die Verwendung von $GLOBALS array, die überall im Skript erlaubt ist, da sie spezielle Variablen sind.

Also

%Vor%

Stellen Sie außerdem sicher, dass auf Ihrem Server die Option "Global registrieren" in Ihrem INI zur Sicherheit deaktiviert ist. Ссылка

    
RobertPitt 28.06.2010 21:57
quelle
1

Sie könnten versuchen, es in Ihre Funktion zu übernehmen, zB:

Funktion foo ($ bar) {

(Code)

$ car = $ bar [3];

(Code)

}

Wenn Sie es dann anrufen:

echo foo ($ bar);

    
misterte 28.06.2010 22:58
quelle