Возвращает целочисленное значение переменной

# intval

(PHP 4, PHP 5, PHP 7, PHP 8)

intval — Возвращает целочисленное значение переменной

### Описание

function intval(mixed `$value`, int `$base` = 10): int

Функция возвращает целочисленное значение (int) переменной `value`, рассматривая ее как значение в системе счисления с основанием, которое определили в параметре `base`. По умолчанию основание равно 10. Функцию intval() нельзя вызывать с объектами, попытка сделать это вызовет ошибку уровня `E_WARNING` и вернёт значение 1.

### Список параметров

`value`

  Скалярное значение для конвертации в целое.

`base`

  Основание системы счисления для преобразования.

  > Замечание:

  > Со значением 0 для параметра `base` основание системы счисления определяется форматом параметра `value`:

  > - Для строк, которые включают префикс "0x" или "0X", функция берёт шестнадцатеричное основание — 16;
  > - иначе функция берёт двоичное основание — 2, если строка начинается с "0b" или "0B";
  > - иначе функция берёт восьмеричное основание — 8, если строка начинается с "0";
  > - в остальных случаях основание остаётся десятичным — 10.

### Возвращаемые значения

Функция возвращает целочисленное значение переменной `value`, если выполнилась успешно, или 0, если возникла ошибка. Для пустых массивов возвращается 0, для непустых возвращается 1.

Максимальное значение зависит от операционной системы. В 32-битных системах максимальное знаковое целое лежит в диапазоне от -2 147 483 648 до 2 147 483 647. Так, например, в такой системе, вызов `intval('1000000000000')` вернёт 2 147 483 647. Максимальное знаковое целое значение для 64-битных систем — 9 223 372 036 854 775 807.

Для строк функция, вероятно, вернёт 0, хотя это зависит от первого символа в строке; применяются общие правила преобразования в целые.

> Замечание: Числовые строки в экспоненциальной записи (содержащие букву `e` или `E`) сначала разбираются как числа, а затем преобразуются в целое. Поскольку числовая часть строки разбирается целиком, результат не сводится к ведущей целочисленной части. Кроме того, большие экспоненты приводят к переполнению до `PHP_INT_MAX`:

>     <?php
>     echo intval('42.42e42'); // 9223372036854775807 на 64-битных системах
>     ?>

> Подробности об интерпретации таких строк описаны в разделе «Числовые строки».

### Список изменений

Версия | Описание
--- | ---
8.0.0 | Уровень ошибки при преобразовании из объекта изменился с `E_NOTICE` на `E_WARNING`.

### Примеры

Пример #1 Примеры приведения значения к целочисленному функцией intval()

Следующие примеры относятся к 64-битной системе.

    <?php

    echo intval(42), PHP_EOL;                      // 42
    echo intval(4.7), PHP_EOL;                     // 4
    echo intval('42'), PHP_EOL;                    // 42
    echo intval('+42'), PHP_EOL;                   // 42
    echo intval('-42'), PHP_EOL;                   // -42
    echo intval(042), PHP_EOL;                     // 34
    echo intval('042'), PHP_EOL;                   // 42
    echo intval(1e10), PHP_EOL;                    // 10000000000
    echo intval('1e10'), PHP_EOL;                  // 10000000000
    echo intval(0x1A), PHP_EOL;                    // 26
    echo intval('0x1A'), PHP_EOL;                  // 0
    echo intval('0x1A', 0), PHP_EOL;               // 26
    echo intval(42000000), PHP_EOL;                // 42000000
    echo intval(420000000000000000000), PHP_EOL;   // -4275113695319687168
    echo intval('420000000000000000000'), PHP_EOL; // 9223372036854775807
    echo intval(42, 8), PHP_EOL;                   // 42
    echo intval('42', 8), PHP_EOL;                 // 34
    echo intval(array()), PHP_EOL;                 // 0
    echo intval(array('foo', 'bar')), PHP_EOL;     // 1
    echo intval(false), PHP_EOL;                   // 0
    echo intval(true), PHP_EOL;                    // 1

    ?>

### Примечания

> Замечание:

> Параметр `base` учитывается, только если в параметр `value` передаётся строка.

### Смотрите также

- boolval() - Возвращает логическое значение переменной
- floatval() - Возвращает значение переменной в виде числа с плавающей точкой
- strval() - Возвращает строковое значение переменной
- settype() - Устанавливает тип переменной
- is_numeric() - Проверяет, содержит ли переменная число или числовую строку
- Жонглирование типами
- Математические функции произвольной точности BCMath

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open