logo

Palette - Rendez-la colorée🎨

Palette — Constructeur de pages visuel, aucun diplôme en design requis.

Démo en direct Télécharger Palette

Défilement

Leçons PHP - leçon 4 - Variables numériques en PHP

05/07/2025, by Ivan

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.