Каков максимальный размер int? Что произойдет при переполнении?

Ответ

Размер int зависит от платформы:

  • 64-бит: от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807 (PHP_INT_MAX)
  • 32-бит: от -2,147,483,648 до 2,147,483,647

При переполнении PHP автоматически преобразует int в float:

$x = PHP_INT_MAX;     // 9223372036854775807
$x = $x + 1;          // float(9.2233720368548E+18)
var_dump(is_int($x));  // false
var_dump(is_float($x)); // true

Это происходит тихо, без ошибок. Для работы с большими числами без потери точности используйте расширения bcmath или gmp.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.