HOWTO · PHP

Cómo convertir un entero en una cadena en PHP

Este artículo introduce cómo convertir un entero en una cadena en PHP.

En esta página

PHP ofrece varias formas de convertir un entero a una cadena. La más directa es la conversión explícita (string), y la función incorporada strval() realiza la misma tarea. PHP también convierte un entero implícitamente dondequiera que se espere una cadena: dentro de una cadena entre comillas dobles o cuando se unen valores con el operador de concatenación, por lo que la interpolación y la concatenación no necesitan una llamada de conversión independiente. A continuación se muestra cada método, seguido de una guía sobre cuál conviene preferir.

Convertir un entero a una cadena con la conversión explícita (string)

La conversión explícita declara el tipo de destino en el propio código. Coloca (string) delante de un literal entero o de una variable que contenga uno y PHP devuelve su representación como cadena, lista para almacenarse o pasarse a cualquier lugar donde se requiera una cadena.

Ejecuta este ejemplo:

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

<?php
$variable = 10;
$string1 = (string)$variable;
echo "The variable is converted to a string and its value is $string1.\n";
?>
The variable is converted to a string and its value is 10.

Al ser explícita, la intención queda visible y el resultado realmente es un string; confírmalo con gettype($string1) o var_dump(). Esto convierte a (string) en la opción idiomática cuando necesitas un valor de cadena real y no solo uno impreso.

Convertir un entero a una cadena con strval()

strval() es la función incorporada de PHP para convertir un valor en una cadena. Pasa la variable como su parámetro — strval($variable) — y devuelve su forma de cadena; para un entero, son los mismos dígitos que produce la conversión explícita (string).

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

<?php
$variable = 10;
$string1 = strval($variable);
echo "The variable is converted to a string and its value is $string1.\n";
?>
The variable is converted to a string and its value is 10.
Advertencia
La función strval() no puede utilizarse con un array ni con un objeto. En ese caso, devuelve el nombre del tipo del parámetro recibido.

Convertir un entero a una cadena dentro de una cadena entre comillas dobles

PHP analiza las variables incrustadas en las cadenas entre comillas dobles y sustituye sus valores; esta característica se denomina interpolación de variables. Cuando la variable contiene un entero, PHP lo convierte automáticamente en una cadena, por lo que no se necesita una conversión explícita.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

<?php
$variable = 10;
echo "The variable is converted to a string and its value is $variable.\n";
?>
The variable is converted to a string and its value is 10.

La interpolación solo funciona en cadenas entre comillas dobles (y en bloques heredoc): '$variable' dentro de comillas simples es texto literal e imprime $variable, no 10. Para conservar el valor convertido en lugar de solo imprimirlo, asigna la cadena interpolada; $string1 = "$variable"; produce el mismo "10" que generó la conversión explícita.

Convertir un entero a una cadena con concatenación

El operador . une cadenas, y la conversión automática de tipos de PHP convierte el operando entero por ti, por lo que la concatenación también es una ruta de conversión implícita. El artículo concatenación de cadenas en PHP explica el operador con más detalle.

El código y las etiquetas o salidas visibles de esta sección se mantienen en inglés.

<?php
$variable = 10;
$string1 = "The variable is converted to a string and its value is ".$variable.".";
echo $string1."\n";
?>
The variable is converted to a string and its value is 10.

Cuando solo necesitas la conversión, concatena el entero con "", una cadena sin caracteres, a cualquier lado. Tanto "".$variable como $variable."" producen "10":

<?php
$variable = 10;
echo "".$variable."\n";
echo $variable.""."\n";
?>
10
10

Elegir el método de conversión adecuado

Usa la conversión explícita (string) o strval() cuando necesites un valor de cadena real: para almacenarlo, para pasarlo a una función o API que espera una cadena, o para reutilizarlo más adelante. Ambos hacen explícita la conversión; (string) es la forma idiomática y marginalmente más rápida, mientras que strval() resulta natural cuando el código ya se basa en llamadas a funciones. Omite ambos cuando solo quieras incrustar el entero en una salida más amplia: la interpolación y la concatenación con . ya producen la cadena en línea, por lo que un paso de conversión separado no aporta nada. Ten presentes los límites: la interpolación requiere cadenas entre comillas dobles y strval() no acepta arrays ni objetos. Para resultados con formato, una función como sprintf("%d", $variable) ofrece el máximo control sobre el texto final.