HOWTO · PHP
Comment convertir un entier en chaîne de caractères en PHP
Cet article présente la manière de convertir un entier en chaîne de caractères en PHP.
Sur cette page
PHP propose plusieurs façons de convertir un entier en chaîne de caractères. La plus directe est le transtypage explicite (string), et la fonction intégrée strval() remplit le même rôle. PHP convertit également implicitement un entier partout où une chaîne est attendue — à l’intérieur d’une chaîne entre guillemets doubles ou lorsque vous joignez des valeurs avec l’opérateur de concaténation — l’interpolation et la concaténation n’ont donc besoin d’aucun appel de conversion séparé. Chaque méthode est illustrée ci-dessous, suivie de conseils sur celle à privilégier.
Convertir un entier en chaîne de caractères avec le transtypage (string)
Le transtypage indique le type cible dans le code lui-même. Placez (string) devant un littéral entier ou une variable qui en contient un, et PHP renvoie sa représentation sous forme de chaîne, prête à être stockée ou passée partout où une chaîne est requise.
Exécutez cet exemple :
Le code et les libellés ou sorties affichés dans cette section restent en anglais.
<?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.
Comme le transtypage est explicite, l’intention est visible et le résultat est bien une string — vérifiez-le avec gettype($string1) ou var_dump(). Cela fait de (string) le choix idiomatique lorsque vous avez besoin d’une véritable valeur de chaîne plutôt que d’une simple valeur affichée.
Convertir un entier en chaîne de caractères avec strval()
strval() est la fonction intégrée de PHP pour convertir une valeur en chaîne de caractères. Passez la variable en paramètre — strval($variable) — et elle renvoie sa forme en chaîne ; pour un entier, ce sont les mêmes chiffres que ceux produits par le transtypage (string).
Le code et les libellés ou sorties affichés dans cette section restent en anglais.
<?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.
strval() ne peut pas être utilisée pour un tableau ou un objet. Si c’est le cas, la fonction renvoie le nom du type du paramètre passé.Convertir un entier en chaîne de caractères à l’intérieur d’une chaîne entre guillemets doubles
PHP analyse les variables placées dans les chaînes entre guillemets doubles et remplace leur valeur — c’est ce qu’on appelle l’interpolation de variables. Lorsque la variable contient un entier, PHP le convertit automatiquement en chaîne ; aucune conversion explicite n’est donc nécessaire.
Le code et les libellés ou sorties affichés dans cette section restent en anglais.
<?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.
L’interpolation ne fonctionne que dans les chaînes entre guillemets doubles (et les blocs heredoc) : '$variable' entre guillemets simples est du texte littéral et affiche $variable, et non 10. Pour conserver la valeur convertie au lieu de seulement l’afficher, affectez la chaîne interpolée — $string1 = "$variable"; produit le même "10" que le transtypage.
Convertir un entier en chaîne de caractères avec la concaténation
L’opérateur . joint les chaînes, et le jonglage de types de PHP convertit l’opérande entier pour vous ; la concaténation constitue donc également un chemin de conversion implicite. L’article concaténation de chaînes en PHP décrit l’opérateur plus en détail.
Le code et les libellés ou sorties affichés dans cette section restent en anglais.
<?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.
Lorsque la conversion est tout ce dont vous avez besoin, concaténez l’entier avec "" — une chaîne ne contenant aucun caractère — d’un côté ou de l’autre. "".$variable et $variable."" produisent tous deux "10" :
<?php
$variable = 10;
echo "".$variable."\n";
echo $variable.""."\n";
?>
10
10
Choisir la bonne méthode de conversion
Préférez le transtypage (string) ou strval() lorsque vous avez besoin d’une véritable valeur de chaîne — à stocker, à passer à une fonction ou à une API qui attend une chaîne, ou à réutiliser plus tard. Tous deux rendent la conversion explicite ; le transtypage est la forme idiomatique et marginalement plus rapide, tandis que strval() se lit naturellement lorsque votre code s’appuie déjà sur des appels de fonctions. Ignorez les deux lorsque vous souhaitez seulement intégrer l’entier dans un affichage plus large : l’interpolation et la concaténation . produisent déjà la chaîne en ligne, et une étape de conversion séparée n’apporte rien. Gardez les limites à l’esprit — l’interpolation exige des chaînes entre guillemets doubles et strval() refuse les tableaux et les objets — et pour un résultat formaté, une fonction telle que sprintf("%d", $variable) offre le plus grand contrôle sur le texte final.