Maison >développement back-end >Problème PHP >Comment forcer la conversion du type de données en php
Méthode de conversion forcée : 1. Ajoutez le type cible entre parenthèses ("(int)", "(bool)", "(float)", etc.) avant la variable à convertir ; fonction intval(), floatval(), boolval(), strval(), settype().
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Conversion de type forcée PHP
La conversion de type forcée en PHP est très similaire aux autres langages, vous pouvez convertissez-la quand vous le souhaitez. La variable est précédée du type cible entre parenthèses (par exemple $var = (int)3.1415;
), ou une fonction de conversion de type spécifique peut être utilisée (par exemple intval()
, floatval()
, strval()
, etc.) ou settype()
pour convertir le type. $var = (int)3.1415;
),也可以使用具体的类型转换函数(例如 intval()
、floatval()
、strval()
等)或者 settype()
来转换类型。
使用在变量之前加上用括号括起来的目标类型的方式强制转换变量类型时,括号中允许使用的变量类型如下所示:
(int)
、(integer)
:转换成整型;
(bool)
、(boolean)
:转换成布尔类型;
(float)
、(double)
、(real)
:转换成浮点类型;
(string)
:转换成字符串类型;
(array)
:转换成数组类型;
(object)
:转换成对象类型。
使用具体的转换函数 intval()
、floatval()
、boolval()
、strval()
等来转换变量的类型时,这些函数的作用如下所示:
intval():用于获取变量的整数值;
floatval():用于获取变量的浮点值;
boolval():用于获取变量的布尔值;
strval():用于获取变量的字符串值。
【示例】使用以上几个函数强制转换变量的类型。
<?php $str = '123.456abc'; $int = intval($str); echo '变量 $int 的类型为:'.gettype($int).'<br>'; $float = floatval($str); echo '变量 $float 的类型为:'.gettype($float).'<br>'; $string = strval($str); echo '变量 $string 的类型为:'.gettype($string); ?>
运行结果如下:
变量 $int 的类型为:integer 变量 $float 的类型为:double 变量 $string 的类型为:string
上面介绍的两种强制类型转换的方式都不会改变被转换变量本身的类型,而是通过将转换得到的新类型的数据赋值给新的变量,原变量的类型和值不变。
如果需要改变变量本身的类型可以使用 settype()
函数来完成,函数的语法格式如下:
settype(mixed &$var, string $type)
其中,$var 为要转换的变量;$type 为要转换的类型,可以是 boolean(bool)
、integer(int)
、float(double)
、string
、array
、object
、null
(int)
, (integer ) : Convertir en type entier ;
(bool)
, (boolean)
: Convertir en type booléen ;
( float)
, (double)
, (real)
: Convertir en type à virgule flottante
(string) : Convertir en type chaîne ; <p></p>
(array)
: Convertir en type tableau ;
(object)
: Convertir en type objet. Utilisez les fonctions de conversion spécifiques intval()
, floatval()
, boolval()
, strval()
code> Lors de la conversion du type d'une variable, les fonctions de ces fonctions sont les suivantes : 🎜🎜🎜🎜intval() : utilisée pour obtenir la valeur entière de la variable ; 🎜🎜🎜🎜floatval() : utilisée pour obtenir la valeur entière de la variable ; valeur à virgule flottante de la variable ;🎜🎜🎜🎜boolval() : utilisée pour obtenir la valeur booléenne de la variable ; 🎜🎜🎜🎜strval() : utilisée pour obtenir la valeur de chaîne de la variable. 🎜🎜🎜🎜【Exemple】Utilisez les fonctions ci-dessus pour forcer le type de variables. 🎜<?php $str = (string)'123abc'; $bool = (bool)true; settype($str, 'integer'); settype($bool, 'string'); echo '$str 的类型为:'.gettype($str).'<br> $bool 的类型为:'.gettype($bool); ?>🎜Les résultats en cours d'exécution sont les suivants : 🎜
$str 的类型为:integer $bool 的类型为:string🎜Les deux méthodes de conversion de type forcé décrites ci-dessus ne changeront pas le type de la variable convertie elle-même, mais attribueront le nouveau type de données converti à la nouvelle variable, la variable d'origine. le type et la valeur restent inchangés. 🎜🎜Si vous devez changer le type de la variable elle-même, vous pouvez utiliser la fonction
settype()
. Le format de syntaxe de la fonction est le suivant : 🎜rrreee🎜Parmi eux, $var est le variable à convertir ; $type est la variable à convertir. Type, qui peut être boolean (bool)
, integer (int)
, float (double).
, string
, tableau
, objet
, null
. 🎜🎜【Exemple】Utilisez la fonction settype() pour forcer le type d'une variable. 🎜rrreee🎜Les résultats d'exécution sont les suivants : 🎜rrreee🎜Les points suivants doivent être notés lors de l'utilisation de la conversion de type forcée : 🎜🎜🎜🎜Le type entier est converti en type à virgule flottante puisque la plage de précision du type à virgule flottante est beaucoup plus grande. que celle du type entier, la précision après conversion Cela ne changera pas ; 🎜🎜🎜🎜Lorsque le type à virgule flottante est converti en type entier, la partie décimale sera automatiquement supprimée et seule la partie entière sera conservée. Si un nombre à virgule flottante dépasse la plage valide de nombres entiers, le résultat sera indéfini 🎜🎜🎜🎜Lorsqu'une chaîne est convertie en nombre, elle commence au début de la chaîne et se termine par le premier caractère qui n'est pas un nombre ; nombre (contenu incompatible Effacer), c'est-à-dire que si le premier caractère de la chaîne n'est pas un nombre, le résultat converti est 0 ; 🎜🎜🎜🎜La valeur NULL est convertie en chaîne, et le résultat est un caractère nul. 🎜🎜🎜🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP🎜"🎜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!