Ответ
int (или integer) — это скалярный тип данных в PHP для представления целых чисел. Он может быть положительным, отрицательным или нулём.
Особенности и ограничения:
- Размер: Зависит от платформы. На 64-битных системах диапазон составляет от
PHP_INT_MIN(-9,223,372,036,854,775,808) доPHP_INT_MAX(9,223,372,036,854,775,807). Значения можно получить через константыPHP_INT_SIZE,PHP_INT_MAX,PHP_INT_MIN. - Переполнение: Если целочисленная операция выходит за пределы
int, результат автоматически преобразуется вfloat. - Системы счисления: Поддерживается определение чисел в двоичной, восьмеричной, десятичной и шестнадцатеричной системах.
Примеры объявления:
// Десятичные числа
$a = 42;
$b = -273;
$c = 0; // Ноль
// Другие системы счисления
$bin = 0b11111111; // Двоичное: 255
$oct = 0123; // Восьмеричное: 83 (префикс 0)
$hex = 0x1A; // Шестнадцатеричное: 26
var_dump($a, $bin, $oct, $hex);
// Вывод: int(42) int(255) int(83) int(26)
Приведение к типу int:
// Явное приведение
$str = "123.9abc";
$intVal = (int) $str; // 123 (дробная часть и нечисловые символы отбрасываются)
$boolVal = (int) true; // 1
$nullVal = (int) null; // 0
// Функции для проверки
$value = 100;
var_dump(is_int($value)); // true
var_dump(is_integer($value)); // true (псевдоним is_int)
var_dump(ctype_digit($value)); // false (работает только со строками)
Практическое замечание: При работе с внешними данными (например, из $_GET или $_POST) числа приходят в виде строк. Для арифметических операций лучше явно приводить их к int с помощью (int), intval() или фильтра filter_var($value, FILTER_VALIDATE_INT).