Wie konvertiert man ein PHP-Objekt in eine Zeichenkette? [Duplikat]

8

Ich bekomme diesen Fehler:

%Vor%

Also, meine Frage ist, wie konvertiere ich ein Objekt in eine Zeichenfolge in PHP? Ich möchte es jedoch nicht serialisieren.

Nur eine Anmerkung: Der Code, den ich verwende, funktioniert in PHP 4, aber nicht in PHP 5

Danke!

EDIT: Ich habe es selbst gelöst. Es war ein Schmerz, aber ich habe es getan. Danke trotzdem, alle: -)

    
Rohan 29.03.2010, 12:23
quelle

7 Antworten

18

Warum brauchst du diese Zeichenfolge? Wenn Sie es nur zum Debuggen visualisieren müssen, können Sie var_dump (), print_r () oder $s = print_r($var, 1); verwenden, um es wirklich in eine Zeichenfolge für die weitere Thematisierung zu verwandeln. Wenn Sie das Objekt als Text an einen anderen Ort senden müssen (Datenbank, Javascript-Code), haben Sie die Wahl zwischen serialisieren, json_encode, XML-Konvertierung und vielen mehr, abhängig von Ihrer genauen Situation.

    
Wim 29.03.2010, 12:27
quelle
3

Sie möchten ein PHP-Objekt in eine Zeichenkette konvertieren?

wenn weder var_dump , print_r , var_export , serialisieren , json_encode noch __ toString ist genau das, wonach Sie suchen, vielleicht kann dies Ihnen helfen, Ihre Bedürfnisse zu befriedigen.

Für PHP 5.3 und höher

%Vor%

Wird ausgegeben:

%Vor%

Für einen konventionelleren Ansatz, der mit früheren PHP 5-Varianten kompatibel ist, versuchen Sie

%Vor%

Was wird gedruckt:

%Vor%     
nickl- 24.07.2012 18:19
quelle
2

Was Sie brauchen, ist die magische Methode % co_de hinzuzufügen % an Ihre Klasse, damit Sie drucken können, was Sie wollen.

Bearbeiten: Sorry, sah nur "PHP 4, aber nicht in PHP 5".

    
p4bl0 29.03.2010 12:31
quelle
1

Ich vermute, dass dies kein Problem mit dem Objekt ist, das nicht in eine Zeichenkette umgewandelt werden kann.

Es ist eher so, dass Sie davon ausgehen, dass eine Variable eine Zeichenfolge enthält (oder etwas, das als Zeichenfolge dargestellt werden kann), aber ein Objekt enthält, und Sie versuchen, das auszugeben.

    
K. Norbert 29.03.2010 12:27
quelle
1

Sie können die php magic Methode __toString verwenden

    
Gabriel Solomon 29.03.2010 12:31
quelle
0

Sie versuchen nicht, dieses Objekt in eine Zeichenfolge zu konvertieren, es wird nicht funktionieren. Holen Sie sich den genauen Wert von diesem Objekt.

Als Beispiel, wenn Sie als Kosten ausgegeben wurden. Diese Kostenausgabe ist Objekt. So holen Sie sich den genauen Wert wie folgt

%Vor%     
MAS1 31.03.2010 06:44
quelle
0

Von dem Fehler, den Sie erhalten, nehme ich an, dass Sie das Objekt als Parameter für eine Funktion verwendet haben, die eine Zeichenfolge erwartet. Die Frage ist, warum Sie das getan haben und was Sie erwarten, dass diese Funktion mit dem Objekt funktioniert. und dann, bevor Sie es an die Funktion übergeben, extrahieren Sie einen sinnvollen String-Wert.

    
back2dos 29.03.2010 12:30
quelle

Tags und Links