Maison >développement back-end >Problème PHP >Quels sont les types de nombres convertis par php ?
La conversion PHP des types numériques comprend : 1. Conversion de type automatique, les chaînes sont converties en nombres, les entiers sont convertis en nombres à virgule flottante, les nombres à virgule flottante sont convertis en entiers avec le point décimal supprimé et les valeurs nulles sont convertis en chaînes ; 2. Conversion de type forte, [intval()] est converti en type entier, [floatval()] est converti en nombre à virgule flottante.
PHP convertit les types numériques :
PHP est un langage faiblement typé, contrairement à Java, C++ et d'autres langages. La différence entre les langages fortement typés est que les langages faiblement typés convertissent automatiquement les types de données, tandis que les langages fortement typés doivent déclarer les types manuellement.
1) Conversion de type automatique , cinq types de données, quatre types de scalaires et null peuvent être automatiquement convertis via des opérations. Les valeurs booléennes participent aux opérations
true ---> 1 false ---> 0
//bool to int var_dump(true + 1);//2 true->1 var_dump(false + 1);//1 false->0 var_dump(null + 1);// 1 null-> 0 echo '<hr/>'; // bool to float var_dump(true + 1.0);// float 2 var_dump(false + 1.0);// float 1 var_dump(null + 1.0);// float 1 echo '<hr/>'; //string to int var_dump('123' + 1);//124 '123'->123 var_dump('abc123' + 1);//1 'abc123'->0 var_dump('123abcdefggggggggggg;8000' + 1);//124 var_dump('a123' + 1);//1 var_dump('1a123' + 1);//2 //php7.0版本所有进制都不转 var_dump('077abc'+1);// 78 077->77 八进制不转换 var_dump('0b11abc'+1);//1 //0b 不转换 var_dump('0xffhsahahhahah'+1);//1 0x不转换 //php 5.6以下都会转换为 0xff->255 echo '<hr/>'; //string to float var_dump('1.234abcdef'+ 1.0);//2.234 var_dump('1.234E3'+1.0);//1235 var_dump('1e5'+1.0);//2 100001 var_dump('1E-5'+1.0);//1.00001
2) Conversion de type forte
Utilisez des crochets plus le type cible pour convertir(int)(integer) (bool)(boolean) (float)(real) (string) (array) (object)Utilisez la fonction de conversion de type
Fonction pour convertir définitivement le type (souligné)settype()
Le deuxième paramètre est le nom du type que vous souhaitez modifier
Convertir en entierintval()
Convertir en nombre à virgule flottantefloatval()
Convertir en chaînestrval()
<?php $a = 1; var_dump($a); var_dump((int)$a); var_dump((integer)$a); var_dump((bool)$a); var_dump((float)$a); var_dump((real)$a); var_dump((string)$a); var_dump((array)$a); var_dump((object)$a); var_dump($a); var_dump($a); var_dump($a); var_dump($a); var_dump($a); echo '<hr/>'; $b = 100; var_dump($b); //下面函数是永久有效的类型转换 settype($b,'string'); var_dump($b); var_dump($b); var_dump($b); var_dump($b); var_dump($b); var_dump($b); echo '<hr/>'; //下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已 $m = 200; var_dump(intval($m)); var_dump(floatval($m)); var_dump(strval($m)); var_dump($m); var_dump($m); var_dump($m);
Recommandations d'apprentissage associées :
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!