Maison > développement back-end > Problème PHP > Quels sont les types de nombres convertis par php ?

Quels sont les types de nombres convertis par php ?

coldplay.xixi
Libérer: 2023-03-02 09:08:01
original
3374 Les gens l'ont consulté

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.

Quels sont les types de nombres convertis par php ?

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
Copier après la connexion

  • Opérations sur les chaînes et les nombres, les chaînes sont d'abord converties en nombres avant l'opération.

  • Convertissez la chaîne en nombre, en commençant par le début et en terminant par le premier caractère qui n'est pas un nombre (le contenu non correspondant est effacé).

  • Les entiers sont convertis en nombres à virgule flottante et la précision ne change pas.

  • Convertissez un nombre à virgule flottante en entier, supprimez le point décimal et conservez la partie entière.

  • Si le nombre à virgule flottante est en dehors de la plage entière, la réponse n'est pas définie.

  • la valeur nulle est convertie en une chaîne, qui est une chaîne vide.

  • //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 &#39;<hr/>&#39;;
    // 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 &#39;<hr/>&#39;;
    //string to int
    var_dump(&#39;123&#39; + 1);//124 &#39;123&#39;->123
    var_dump(&#39;abc123&#39; + 1);//1 &#39;abc123&#39;->0
    var_dump(&#39;123abcdefggggggggggg;8000&#39; + 1);//124
    var_dump(&#39;a123&#39; + 1);//1
    var_dump(&#39;1a123&#39; + 1);//2
    //php7.0版本所有进制都不转
    var_dump(&#39;077abc&#39;+1);// 78 077->77 八进制不转换
    var_dump(&#39;0b11abc&#39;+1);//1 //0b 不转换
    var_dump(&#39;0xffhsahahhahah&#39;+1);//1 0x不转换
    //php 5.6以下都会转换为 0xff->255
    echo &#39;<hr/>&#39;;
    //string to float
    var_dump(&#39;1.234abcdef&#39;+ 1.0);//2.234
    var_dump(&#39;1.234E3&#39;+1.0);//1235
    var_dump(&#39;1e5&#39;+1.0);//2 100001
    var_dump(&#39;1E-5&#39;+1.0);//1.00001
    Copier après la connexion

2) Conversion de type forte

Utilisez des crochets plus le type cible pour convertir

(int)(integer)
 (bool)(boolean)
 (float)(real)
  (string)
  (array)
  (object)
Copier après la connexion

Utilisez la fonction de conversion de type

Fonction pour convertir définitivement le type (souligné)settype()

Le premier paramètre est la variable dont vous souhaitez modifier le type

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 &#39;<hr/>&#39;;
 $b = 100;
 var_dump($b);
 //下面函数是永久有效的类型转换
 settype($b,&#39;string&#39;);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 echo &#39;<hr/>&#39;;
//下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已
 $m = 200;
 var_dump(intval($m));
 var_dump(floatval($m));
var_dump(strval($m));
 var_dump($m);
 var_dump($m);
 var_dump($m);
Copier après la connexion

Recommandations d'apprentissage associées :

Programmation PHP de l'entrée à la maîtrise

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal