Opérations à l’infini
<?php
var_dump( 2 * PHP_INT_MAX === 3 * PHP_INT_MAX); // false
var_dump( PHP_FLOAT_MAX + 1 === 3 * PHP_FLOAT_MAX); // false
var_dump( PHP_FLOAT_MAX + 1E+308 === 3 * PHP_FLOAT_MAX); // false
var_dump( 2 * PHP_FLOAT_MAX === 3 * PHP_FLOAT_MAX); // true
var_dump( 2 * INF === 3 * INF); // true
var_dump( INF ** INF === INF); // true
?>
Voici quelques calculs limites avec de grands nombres en PHP : calculer au-delà de PHP_INT_MAX est possible, tant que le résultat reste… un nombre : ici, c’est un flottant. Le même calcul n’est pas possible avec des flottants, car ils sont plafonnés par l’infini. L’infini est autour de 1E308.
En particulier, ajouter des éléments supplémentaires à PHP_FLOAT_MAX donne des comparaisons étranges : si l’addition est assez petite, elle est arrondie à 0, et ignorée. Ce n’est pas le cas avec la multiplication, où les nombres finissent tous par dépasser PHP_FLOAT_MAX, et sont transformés en INF, qui, au passage, est de type flottant.
Enfin, utiliser la puissance ** sur INF reste plafonné par INF, c’est donc un calcul valide, sans dépassement.
See Also
- Really Large Numbers [Try me]
PHP Features
Last updated: 11 October 2026