Wie konvertiere ich den Wert einer PHP-Variablen in einen String?
Ich habe nach etwas Besserem gesucht als der Konkatenation mit einem leeren String:
$myText = $myVar . '';
Ähnlich der ToString()
Methode in Java oder .NET.
Wie konvertiere ich den Wert einer PHP-Variablen in einen String?
Ich habe nach etwas Besserem gesucht als der Konkatenation mit einem leeren String:
$myText = $myVar . '';
Ähnlich der ToString()
Methode in Java oder .NET.
Sie können die Umwandlungsoperatoren verwenden:
$myText = (string)$myVar;
Im Strings Abschnitt des PHP-Handbuchs finden Sie weitere Details zur Zeichenfolgenumwandlung, einschließlich der speziellen Behandlung von Booleschen Werten und Nullen.
Objekt der Klasse Foo konnte nicht in einen String umgewandelt werden
. Gibt es eine allgemeine Lösung, die alles (Arrays+Objekte+was auch immer) in einen String umwandeln kann?
Dies wird mit Typumwandlung gemacht:
$strvar = (string) $var; // Konvertiert zu String
echo $var; // Wird implizit zu einem String konvertiert
var_dump($var); // Zeigt den tatsächlichen Typ der Variablen an
In einer Klasse können Sie definieren, was ausgegeben wird, indem Sie die magische Methode __toString
verwenden. Ein Beispiel finden Sie unten:
class Flaschen {
public function __toString()
{
return 'Neunundneunzig grüne Flaschen';
}
}
$ex = new Flaschen;
var_dump($ex, (string) $ex);
// Gibt zurück: Instanz von Flaschen und "Neunundneunzig grüne Flaschen"
Weitere Beispiele für Typumwandlung:
$i = 1;
// int 1
var_dump((int) $i);
// bool true
var_dump((bool) $i);
// string "1"
var_dump((string) 1);
Verwenden Sie print_r:
$myText = print_r($myVar,true);
Sie können es auch so verwenden:
$myText = print_r($myVar,true)."foo bar";
Dies setzt $myText
auf einen String, wie:
array (
0 => '11',
)foo bar
Verwenden Sie var_export, um etwas mehr Informationen (mit Variablentypen, usw.) zu erhalten:
$myText = var_export($myVar,true);
"Wenn der Rückgabeparameter TRUE ist, gibt [print_r] einen String zurück." Da print_r eine schöne Möglichkeit ist, Objekte, Arrays (und auch Zahlen/Strings) auszugeben, ist es ein guter Weg, ein Objekt in einen für Menschen lesbaren String zu verwandeln.
Strval($varname) funktioniert für mich, besonders wenn der Wert als Typ "Variant" zurückgegeben wird und in einen String oder eine Zahl umgewandelt werden muss.
Wie konvertiere ich den Wert einer PHP Variable zu einem String?
Ein Wert kann mit dem (string) Cast oder der strval() Funktion in einen String umgewandelt werden. (Edit: Wie auch von Thomas erwähnt).
Es sollte auch automatisch für Sie in einen String umgewandelt werden, wenn Sie es als String verwenden.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
3 Stimmen
Ich würde
json_encode($myText)
verwenden. Ich habe festgestellt, dass die vorgeschlagenen Lösungenprint_r
und(string)var
gut für skalare Werte und einfache Objekte funktionieren. Für komplexe Variablen, Klassen oder Objekte ziehe ich, wenn ein vollständiges__toString()
nicht definiert ist,json_encode
vor.