Leçons PHP - leçon 4 - Variables numériques en PHP
Dans la leçon précédente, nous avons étudié les variables de type chaîne, maintenant regardons les variables numériques. Le type de nombre le plus simple est l'entier.
Les entiers en PHP
Les entiers sont tous les nombres dans la plage [-2 147 483 648, ..., -4, -3, -2, -1, 0, 1, 2, 3, 4, ..., 2 147 483 647], c’est-à-dire de -2147483648 à 2147483647. Cette limite est due au fait que le codage d’un entier utilise 32 bits.
Comme toutes les autres variables en PHP, les entiers sont définis par une simple affectation.
<?php $x = 5; $y = -8; ?>
En plus des nombres décimaux habituels, on peut utiliser d’autres bases (octale, hexadécimale, etc.) :
<?php $i = 456; // nombre décimal $i = -895; // nombre négatif $i = 0121; // nombre octal (équivalent à 81 en décimal) $i = 0x1B; // nombre hexadécimal (équivalent à 27 en décimal) ?>
En plus des entiers, PHP gère aussi les nombres à virgule flottante.
Nombres à virgule flottante (float) en PHP
Les nombres à virgule flottante sont écrits en notation décimale :
$pi = 3.14;
La partie décimale est séparée par un point, à ne pas confondre avec l’opérateur de concaténation des chaînes. On peut aussi écrire les floats en notation scientifique :
$b = 3.2e5; $c = 9E-11;
Les floats occupent 64 bits en mémoire (ce qui est deux fois plus que les entiers).
Habituellement, les floats résultent d’une division :
$a = 1/3; print $a;
Le résultat sera :
0.333333333333
Notez que le résultat peut parfois sembler contre-intuitif :
$a = 1/3; $a = $a*3; print $a;
Le résultat sera exactement 1, et non 0.999999999.
Si vous faisiez la même opération sur une calculatrice (diviser 1 par 3 puis multiplier par 3), vous perdriez une précision d’un millionième ou d’un milliardième selon la précision de la calculatrice. PHP conserve les opérations sur les variables et ne perd aucune fraction du résultat.