567 Stimmen

PHP-Äquivalent zu .NET/Java's toString()

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.

789voto

Tom Mayfield Punkte 6195

Sie können die Gießer :

$myText = (string)$myVar;

Weitere Details zum String-Casting und zur Konvertierung finden Sie in der Abschnitt Streicher des PHP-Handbuchs, einschließlich der speziellen Behandlung von Booleschen Werten und Nullen.

312voto

Ross Punkte 44536

Dies geschieht durch Typecasting:

$strvar = (string) $var; // Casts to string
echo $var; // Will cast to string implicitly
var_dump($var); // Will show the true type of the variable

In einer Klasse können Sie definieren, was ausgegeben wird, indem Sie die magische Methode __toString . Ein Beispiel ist unten aufgeführt:

class Bottles {
    public function __toString()
    {
        return 'Ninety nine green bottles';
    }
}

$ex = new Bottles;
var_dump($ex, (string) $ex);
// Returns: instance of Bottles and "Ninety nine green bottles"

Einige weitere Beispiele für das Gießen von Schrift:

$i = 1;

// int 1
var_dump((int) $i);

// bool true
var_dump((bool) $i);

// string "1"
var_dump((string) 1);

127voto

Cedric Punkte 4770

Utilisez drucken_r :

$myText = print_r($myVar,true);

Sie können es auch wie folgt verwenden:

$myText = print_r($myVar,true)."foo bar";

Damit wird die $myText zu einer Zeichenkette, wie:

array (
  0 => '11',
)foo bar

Utilisez var_export um ein wenig mehr Informationen zu erhalten (mit Variablentypen,...):

$myText = var_export($myVar,true);

58voto

Joel Larson Punkte 597

Sie können entweder Typecasting verwenden:

$var = (string)$varname;

oder StringValue:

$var = strval($varname);

oder SetType:

$success = settype($varname, 'string');
// $varname itself becomes a string

Sie arbeiten alle für die gleiche Sache in Bezug auf das Type-Juggling.

34voto

Chris Punkte 6681

Wie konvertiere ich den Wert einer PHP Variablen in einen String?

Ein Wert kann in eine Zeichenkette umgewandelt werden, indem die (string) cast oder die strval() Funktion. (Bearbeiten: Da Thomas auch angegeben).

Es sollte auch automatisch für Sie gecastet werden, wenn Sie es als eine Zeichenfolge verwenden.

CodeJaeger.com

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.

Powered by:

X