En PHP, la conversion de chaînes en entiers est une opération courante. PHP étant un langage de programmation faiblement typé, la conversion de type est souvent effectuée lors de l'affectation et du fonctionnement des variables et des expressions.
Lorsque nous devons convertir une chaîne en entier, PHP propose plusieurs méthodes. L'utilisation de ces méthodes est présentée ci-dessous.
(PHP 4, PHP 5, PHP 7)
Il s'agit d'une méthode courante, ajoutez simplement le caractère cast (int) avant la chaîne, vous pouvez convertir la chaîne en un entier.
Exemple de code :
$str = "123"; $int = (int)$str; echo $int; // 输出 123
Il convient de noter que "(int)" ne peut convertir que les nombres d'une chaîne en entiers. Si la chaîne contient des caractères non numériques, elle ne renverra que 0, comme le montre l'exemple suivant :
$str = "123abc"; $int = (int)$str; echo $int; // 输出 123
$str = "abc"; $int = (int)$str; echo $int; // 输出 0
(PHP 4, PHP 5, PHP 7)
La fonction intval() peut convertir une chaîne en un entier. Si la chaîne n'est pas un entier complet, intval() renvoie uniquement le premier nombre. Si le début de la chaîne n'est pas un nombre, 0 est renvoyé.
Exemple de code :
$str = "123"; $int = intval($str); echo $int; // 输出 123
$str = "123abc"; $int = intval($str); echo $int; // 输出 123
$str = "abc"; $int = intval($str); echo $int; // 输出 0
(PHP 4, PHP 5, PHP 7)
L'opérateur de conversion (double) peut convertir une chaîne en un type à virgule flottante, si si la chaîne contient des caractères non numériques, 0 est renvoyé.
Exemple de code :
$str = "123"; $int = (double)$str; echo $int; // 输出 123
$str = "123.45"; $int = (double)$str; echo $int; // 输出 123.45
$str = "abc"; $int = (double)$str; echo $int; // 输出 0
(PHP 4, PHP 5, PHP 7)
La fonction sscanf() peut analyser la chaîne formatée, extraire les nombres et les convertir en type entier. Si la chaîne ne contient aucun nombre, 0 est renvoyé.
Exemple de code :
$str = "123"; sscanf($str, "%d", $int); echo $int; // 输出 123
$str = "123abc"; sscanf($str, "%d", $int); echo $int; // 输出 123
$str = "abc"; sscanf($str, "%d", $int); echo $int; // 输出 0
En résumé, les méthodes ci-dessus peuvent convertir des chaînes en entiers. La méthode à utiliser dépend des habitudes et des besoins personnels. Cependant, il convient de noter que si la chaîne contient des caractères non numériques, vous devez choisir une méthode basée sur la situation spécifique pour éviter les erreurs.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!