Wie konvertiere ich den Wert einer PHP-Variable in einen String?
Ich suchte nach etwas Besserem als der Verkettung mit einer leeren Zeichenfolge:
$myText = $myVar . '';
Wie die ToString()
Methode in Java oder .NET.
Wie konvertiere ich den Wert einer PHP-Variable in einen String?
Ich suchte nach etwas Besserem als der Verkettung mit einer leeren Zeichenfolge:
$myText = $myVar . '';
Wie die ToString()
Methode in Java oder .NET.
Sie sind auf der Suche nach strval :
string strval ( mixed $var )
Ermittelt den String-Wert einer Variablen. Siehe die Dokumentation zu string für weitere Informationen zur Konvertierung in Zeichenkette.
Diese Funktion führt keine Formatierung durch auf den zurückgegebenen Wert. Wenn Sie einen numerischen Wert als String formatieren Wert als Zeichenkette zu formatieren, lesen Sie bitte sprintf() oder number_format().
Für Primitive verwenden Sie einfach (string)$var
oder drucken Sie diese Variable gleich aus. PHP ist eine dynamisch typisierte Sprache und die Variable wird sofort in einen String umgewandelt.
Wenn Sie Objekte in Zeichenketten umwandeln wollen, müssen Sie Folgendes definieren __toString()
Methode, die einen String zurückgibt. Diese Methode darf keine Ausnahmen auslösen.
Ich denke, es ist erwähnenswert, dass Sie jede Ausgabe abfangen können (wie print_r
, var_dump
) in einer Variablen mit Hilfe der Ausgabepufferung:
<?php
ob_start();
var_dump($someVar);
$result = ob_get_clean();
?>
Dank an: Wie kann ich das Ergebnis von var_dump in einem String festhalten?
Zusätzlich zu der von Thomas G. Mayfield gegebenen Antwort:
Wenn Sie dem Link zum String Casting Manual folgen, gibt es einen Sonderfall, der sehr wichtig zu verstehen ist:
(string) ist vorzuziehen, insbesondere wenn Ihre Variable $a ein Objekt ist, denn PHP folgt dem Casting Protokoll entsprechend seinem Objektmodell durch den Aufruf __toString() magische Methode (falls eine solche in der Klasse definiert ist, von der $a instanziert wird).
PHP macht etwas Ähnliches wie
function castToString($instance)
{
if (is_object($instance) && method_exists($instance, '__toString')) {
return call_user_func_array(array($instance, '__toString'));
}
}
El (Zeichenfolge) Casting-Operation ist eine empfohlene Technik für die PHP5+ Programmierung, die den Code objektorientierter macht. IMO ist dies ein schönes Beispiel für die Ähnlichkeit (oder den Unterschied) des Designs zu anderen OOP-Sprachen wie Java/C#/etc., d.h. auf seine eigene, spezielle PHP-Art (wann immer es zum Guten oder zum Schlechten ist).
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.