una recorrer numerico extraer convertir cast caracteres caracter cadena buscar php string integer type-conversion

numerico - recorrer string php



Convertir un entero en una cadena en PHP (12)

¿Hay una manera de convertir un número entero a una cadena en PHP?


Como las respuestas aquí demuestran muy bien, sí, hay varias maneras. Sin embargo, en PHP raramente necesitas hacer eso. La "forma dogmática" de escribir PHP es confiar en el sistema de escritura holgada del lenguaje, que coaccionará de forma transparente según sea necesario. Para valores enteros, esto generalmente es sin problemas. Sin embargo, debes tener mucho cuidado con los valores de punto flotante.


Hay muchas formas de conversión posibles:

$input => 123 sprintf(''%d'',$input) => 123 (string)$input => 123 strval($input) => 123 settype($input, "string") => 123


Hay muchas maneras de hacer esto.

Dos ejemplos:

$str = (string) $int; $str = "$int";

Consulte el Manual de PHP sobre tipos de malabares para obtener más información.


Hay varias formas de "convertir" un número entero a una cadena en PHP.

La forma tradicional de CS sería lanzar la variable como una cadena

$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";

También puede aprovechar la conversión de tipos implícita de PHP y la interpolación de cadenas.

$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";

Finalmente, de manera similar a lo anterior, cualquier función que acepte y devuelva una cadena se podría usar para convertir un entero. Considera lo siguiente

$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";

No recomendaría la opción final, pero he visto un código en la naturaleza que dependía de este comportamiento, así que pensé que lo transmitiría.


Puede usar el operador de período y concatenar una cadena (y se convertirá en una conversión de tipo):

$integer = 93; $stringedInt = $integer."";

O, más correctamente, puede escribir cast el entero a una cadena:

$integer = 93; $stringedInt = (string) $integer;


Puede usar la función strval() para convertir un número en una cadena.

Desde una perspectiva de mantenimiento, es obvio lo que intenta hacer en lugar de algunas de las otras respuestas más esotéricas. Por supuesto, depende de tu contexto.

$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";


Simplemente puede utilizar lo siguiente:

$intVal = 5; $strVal = trim($intVal);


Todas estas respuestas son excelentes, pero todas te devuelven una cadena vacía si el valor es cero.

Intenta lo siguiente:

$v = 0; $s = (string)$v : (string)$v ? "0";


Yo diría que depende del contexto. strval () o el operador de casting (cadena), sin embargo, en la mayoría de los casos, PHP decidirá qué es bueno para usted, si por ejemplo lo usa con echo o printf ... Una pequeña nota: die () necesita una cadena y no mostrará ningún int :)


$foo = 5; $foo = $foo . "";

ahora $foo es una cadena.

Pero, es posible que desee acostumbrarse al casting. Como el casting es la forma correcta de lograr algo de ese tipo.

$foo = 5; $foo = (string)$foo;

Otra forma es encapsular entre comillas:

$foo = 5; $foo = "$foo"


$intValue = 1; $string = sprintf(''%d'',$intValue );

o podría ser:

$string = (string)$intValue ;

o:

settype(&$intValue ,''string'');


$integer = 93; $stringedInt = $integer.'''';

es más rápido que

$integer = 93; $stringedInt = $integer."";