Maison  >  Article  >  développement back-end  >  Comment forcer la valeur au type entier en php

Comment forcer la valeur au type entier en php

PHPz
PHPzoriginal
2023-04-25 18:28:501372parcourir

En PHP, vous pouvez utiliser différentes méthodes pour convertir un type de données en un autre. Dans cet article, nous allons explorer comment convertir une variable PHP en type entier.

Tout d’abord, vous devez comprendre les types entiers en PHP. Les types entiers font référence à des nombres sans point décimal. En PHP, une variable entière est déclarée en utilisant la syntaxe suivante :

$int_var = 123;

Maintenant, nous allons nous concentrer sur la conversion d'autres types de données en types entiers.

Convertir une chaîne en type entier

Parfois, nous pouvons avoir besoin de convertir une chaîne (contenant des nombres) en type entier. Il existe deux façons de procéder en PHP. La première méthode consiste à utiliser la fonction intval(), par exemple :

$str_var = '123';
$int_var = intval($str_var);
echo $int_var;  // 输出 123

Cette méthode convertit la chaîne en un type entier et l'assigne à la variable $int_var.

La deuxième méthode consiste à utiliser un cast ((int)), par exemple :

$str_var = '123';
$int_var = (int)$str_var;
echo $int_var;  // 输出 123

Cette méthode convertit la chaîne en un type entier et l'assigne à la variable $int_var. Par rapport à la méthode précédente, cette méthode est plus concise et intuitive.

Il est à noter que si la chaîne contient des caractères non numériques, la conversion ne sera pas possible et 0 sera renvoyé. Par exemple :

$str_var = '123abc';
$int_var = (int)$str_var;
echo $int_var;  // 输出 123

Si vous devez déterminer si la conversion a réussi, vous pouvez utiliser le code suivant :

$str_var = '123abc';
$int_var = (int)$str_var;
if ($int_var === 0 && $str_var !== '0') {
    echo 'Failed to convert string to integer.';
} else {
    echo $int_var;
}

Cela vérifiera d'abord si la variable $int_var est 0 et si la chaîne n'est pas égale à « 0 ». Si la condition est vraie, la conversion a échoué.

Convertir une valeur booléenne en type entier

En PHP, les valeurs de type booléen true et false correspondent respectivement aux valeurs de type entier 1 et 0. Par conséquent, si vous devez convertir une valeur booléenne en un type entier, vous pouvez directement utiliser l'opérateur de conversion, par exemple :

$bool_var = true;
$int_var = (int)$bool_var;
echo $int_var;  // 输出 1 

$bool_var = false;
$int_var = (int)$bool_var;
echo $int_var;  // 输出 0

Cela utilisera l'opérateur de conversion pour convertir la valeur booléenne en un type entier et attribuer le résultat au Variable $int_var.

Convertir les nombres à virgule flottante en types entiers

En PHP, vous pouvez utiliser des fonctions telles que floor(), ceil() et round() pour convertir les nombres à virgule flottante en types entiers. Les fonctions de ces fonctions sont l'arrondi vers le bas, l'arrondi vers le haut et l'arrondi.

Par exemple, le code suivant utilisera la fonction floor() pour arrondir un nombre à virgule flottante et le convertir en un type entier :

$float_var = 3.14;
$int_var = (int)floor($float_var);
echo $int_var;  // 输出 3

Il est à noter que si le nombre à virgule flottante dépasse la plage de valeurs de l'entier tapez, il tronquera la partie décimale sans générer d’erreur. Par exemple :

$float_var = 2147483647.5;  // 最大整数值为 2147483647
$int_var = (int)$float_var;
echo $int_var;  // 输出 2147483647

Cela tronquera la partie décimale et affectera le résultat à la variable $int_var sans générer d'erreur.

Résumé

En PHP, vous pouvez convertir différents types de données en types entiers en utilisant différentes méthodes. La méthode la plus courante consiste à utiliser une fonction cast (int) ou intval() pour convertir une chaîne en type entier. Notez que si la chaîne contient des caractères non numériques, la conversion ne peut pas être effectuée et 0 sera renvoyé. De plus, les valeurs booléennes true et false correspondent respectivement aux valeurs entières 1 et 0. Si vous devez convertir un nombre à virgule flottante en un type entier, vous pouvez utiliser des fonctions telles que floor(), ceil() et round(). Il convient de noter que si le nombre à virgule flottante dépasse la plage de valeurs du type entier, la partie décimale sera tronquée sans générer d'erreur.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn