Comment convertir une chaîne de caractères en entier long en PHP
Les chaînes peuvent être converties et analysées en leurs valeurs numériques en PHP simplement en les utilisant dans un contexte mathématique. PHP déterminera le type de données numérique approprié lors de la conversion. Si le nombre est assez petit, il sera converti en type de données entier (integer). S'il est plus grand ou contient une notation décimale ou scientifique, il sera converti en type float, qui combine les rôles des types long, double et float en C et Java.
Étape 1 : Créer le fichier
Ouvrez un éditeur de texte et enregistrez immédiatement sous le nom « longParse.php ».
Étape 2 : Assigner une chaîne à une variable
Collez le code suivant pour assigner une chaîne à une variable nommée « $str » :
$astring = "100";
Étape 3 : Conversion implicite par contexte mathématique
Collez le code suivant pour convertir cette chaîne en entier et ajouter 1 :
$anumber = $astring + 1;
Puisque la chaîne est utilisée dans un contexte mathématique et contient une information compréhensible comme un nombre, PHP la convertira automatiquement au type numérique approprié (ici un entier car le nombre est petit) et continuera. Cela peut sembler inconfortable pour les programmeurs voulant un contrôle plus précis sur le type résultant, il est donc possible d'effectuer la conversion explicitement avec une commande de cast.
Étape 4 : Conversion explicite (cast)
Collez le code suivant pour caster explicitement la chaîne en entier ou en float :
$anumber = (int) $astring; $anumber = (float) $astring;
Si vous êtes certain que les nombres sont relativement petits et ne contiendront jamais de décimales, utilisez « int » car cela économise de la mémoire. Cependant, si vous pensez que les nombres peuvent être très grands ou contenir des décimales, utilisez « float ».
Astuce
Vous pouvez trouver les valeurs minimales et maximales du type « int » pour votre système avec la constante PHP_INT_MAX, mais gardez à l'esprit que cela change selon le système d'exploitation et l'environnement où le programme s'exécute. Si les valeurs sont susceptibles d'être extrêmement grandes, plus de 1,8 x 10^308, PHP fournit une bibliothèque supportant les nombres GMP. Ces nombres sont limités uniquement par la taille de la mémoire du système. Collez le code suivant pour créer un tel nombre :
$a = gmp_init("123456");
Comme GMP est bien plus lent que les types de données primitifs, il ne doit pas être utilisé sauf si le programmeur est certain qu'une telle précision sera nécessaire, mais c'est disponible.
