Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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

PHP Features

Last updated: 11 October 2026