Rückgabe einer Variablen aus einer Funktion in PHP (Rückgabe funktioniert nicht)

7

Ich baue eine XML-Seite innerhalb einer Funktion und aus irgendeinem seltsamen Grund bekomme ich das Ganze nicht aus der Funktion herausgespuckt. Ich habe es versucht

%Vor%

und ich bekomme nur die XML-Deklaration, die in der Variablen vor der Funktion ist. Wenn ich ein Echo in die Funktion setze, bekomme ich alles so zurück, wie ich sollte.

meine Seite sieht im Wesentlichen so aus

%Vor%

Wie gesagt, wenn ich die "Rückgabe" durch "Echo" ersetze, bekomme ich alle schönen xml. wenn ich außerhalb der Funktion echo, bekomme ich nur die ursprüngliche Deklaration.

wirklich seltsam, und ich habe den ganzen Tag mit diesem gekämpft.

    
pedalpete 04.02.2009, 21:45
quelle

6 Antworten

10
%Vor%

$ thisXML; existiert nur im Rahmen der Funktion. Entweder make $ thisXML; global (schlechte Idee) oder echo getThisXML() wobei getThisXML die Funktion ist, die $thisXML zurückgibt;

    
Steerpike 04.02.2009, 21:47
quelle
6

Rufen Sie die Funktion tatsächlich im Sinne von:

auf

$ thisXml = getThisXML ($ saineinput);

Vielleicht eine dumme Frage, aber ich sehe es nicht in Ihrer Beschreibung.

    
jeroen 04.02.2009 21:49
quelle
2

Sie müssen die Funktion aufrufen und echo auf den zurückgegebenen Wert anwenden:

%Vor%

Oder Sie übergeben die Variable durch Referenz .

    
Gumbo 04.02.2009 21:50
quelle
2

Sie müssen die Funktion aufrufen!

%Vor%

Oder übergeben Sie die Variable als Referenz:

%Vor%     
Matias 04.02.2009 22:04
quelle
1

Sie versuchen, eine Variable zu verwenden, die innerhalb des Funktionsumfangs definiert ist.

Verwenden:

%Vor%     
Jorge Niedbalski R. 04.02.2009 21:48
quelle
1

Die Rückgabe einer Variablen bedeutet nicht, dass sie sich global auf diese Variable auswirkt. Das bedeutet, dass der Funktionsaufruf zu dem Wert ausgewertet wird, an dem er verwendet wird.

%Vor%

Dies wird gedruckt

%Vor%     
Jeremy Banks 04.02.2009 21:50
quelle

Tags und Links