Gibt es eine Möglichkeit, eine Ganzzahl in eine Zeichenfolge in PHP zu konvertieren?
Sie können die Funktion strval()
verwenden, um eine Zahl in einen String zu konvertieren.
Aus Sicht der Instandhaltung ist es offensichtlich, was Sie zu tun haben, und nicht die anderen eher esoterischen Antworten. Natürlich hängt es von Ihrem Kontext ab.
$var = 5;
// Inline variable parsing
echo "I'd like {$var} waffles"; // = "I'd like 5 waffles
// String concatenation
echo "I'd like ".$var." waffles"; // I'd like 5 waffles
// Explicit cast
$items = (string)$var; // $items === "5";
// Function call
$items = strval($var); // $items === "5";
Dafür gibt es viele Möglichkeiten.
Zwei Beispiele:
$str = (string) $int;
$str = "$int";
Weitere Informationen finden Sie im PHP -Handbuch über Types Jonglieren .
$foo = 5;
$foo = $foo . "";
jetzt ist $foo
eine Zeichenfolge.
Aber Sie möchten sich vielleicht an das Casting gewöhnen. Denn Casting ist der richtige Weg, um so etwas zu erreichen.
$foo = 5;
$foo = (string)$foo;
Eine andere Möglichkeit besteht darin, in Anführungszeichen zu kapseln:
$foo = 5;
$foo = "$foo"
Es gibt verschiedene Möglichkeiten, eine Ganzzahl in eine Zeichenfolge in PHP "umzuwandeln".
Die traditionelle CS-Methode besteht darin, die Variable als Zeichenfolge umzuwandeln
$int = 5;
$int_as_string = (string) $int;
echo $int . ' is a '. gettype($int) . "\n";
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
Sie können auch die implizite Typumwandlung und String-Interpolation von PHP nutzen
$int = 5;
echo $int . ' is a '. gettype($int) . "\n";
$int_as_string = "$int";
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
$string_int = $int.'';
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
Ähnlich wie oben kann jede Funktion, die einen String akzeptiert und zurückgibt, zur Konvertierung und Ganzzahl verwendet werden. Folgendes berücksichtigen
$int = 5;
echo $int . ' is a '. gettype($int) . "\n";
$int_as_string = trim($int);
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
Ich würde die abschließende Option nicht empfehlen, aber ich habe Code in der Wildnis gesehen, der sich auf dieses Verhalten stützte, also dachte ich, ich würde ihn weitergeben.
Alle diese Antworten sind großartig, aber alle geben eine leere Zeichenfolge zurück, wenn der Wert Null ist.
Versuche Folgendes:
$v = 0;
$s = (string)$v : (string)$v ? "0";
$intValue = 1;
$string = sprintf('%d',$intValue );
oder es könnte sein:
$string = (string)$intValue ;
oder:
settype(&$intValue ,'string');
Es gibt viele mögliche Konvertierungsmöglichkeiten:
$input => 123
sprintf('%d',$input) => 123
(string)$input => 123
strval($input) => 123
settype($input, "string") => 123
Sie können entweder den Period-Operator verwenden und eine Zeichenfolge mit ihm verketten (und er wird in eine Zeichenfolge umgewandelt):
$integer = 93;
$stringedInt = $integer."";
Oder, richtiger, Sie können einfach die Ganzzahl in eine Zeichenfolge umwandeln:
$integer = 93;
$stringedInt = (string) $integer;
$amount = 2351.25;
$str_amount = "2351.25";
$strCorrectAmount = "$amount";
echo gettype($strCorrectAmount);
Das Echo wird also zurückgegeben string
Ich würde sagen, es hängt vom Kontext ab. strval () oder der Casting-Operator (string) könnte verwendet werden, in den meisten Fällen entscheidet PHP, was gut für Sie ist, wenn Sie es beispielsweise mit echo oder printf verwenden ... Eine kleine Anmerkung : die () benötigt einen String und zeigt kein int :)
Wie die Antworten hier zeigen, gibt es mehrere Möglichkeiten. In PHP müssen Sie das jedoch selten tun. Der "dogmatische Weg" zum Schreiben von PHP besteht darin, sich auf das lose Typisierungssystem der Sprache zu verlassen, das den Typ nach Bedarf transparent zwingt. Bei ganzzahligen Werten ist dies normalerweise problemlos. Sie sollten jedoch mit Gleitkommawerten sehr vorsichtig sein.
Sie können einfach Folgendes verwenden:
$intVal = 5;
$strVal = trim($intVal);