intval

(PHP 4, PHP 5, PHP 7)

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

Описание

int intval ( mixed $var [, int $base = 10 ] )

Возвращает целое значение переменной var, используя указанное основание системы исчисления base для преобразования (по умолчанию основание равно 10). intval() нельзя использовать с объектами, попытка это сделать вызовет ошибку уровня E_NOTICE и вернет значение 1.

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

var

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

base

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

Замечание:

Если base равно 0, основание системы исчисления определяется форматом параметра var:

  • если строка включает префикс "0x" (или "0X"), основание выбирается равным 16 (шестнадцатеричным);
  • иначе, если строка начинается с "0", основание равно 8 (восьмеричное);
  • иначе, основание выбирается равным 10 (десятеричным).

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

Целое значение переменной var в случае успеха, или 0 в случае неудачи. Для пустых массивов возвращается 0, для непустых возвращается 1.

Максимальное значение зависит от операционной системы. В 32-х битных системах максимальное знаковое целое лежит в диапазоне от -2147483648 до 2147483647. Так, например, в такой системе, intval('1000000000000') вернет 2147483647. Максимальное знаковое целое значение для 64-х битных систем - 9223372036854775807.

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

Примеры

Пример #1 Примеры использования intval()

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

<?php
echo intval(42);                      // 42
echo intval(4.2);                     // 4
echo intval('42');                    // 42
echo intval('+42');                   // 42
echo intval('-42');                   // -42
echo intval(042);                     // 34
echo intval('042');                   // 42
echo intval(1e10);                    // 1410065408
echo intval('1e10');                  // 1
echo intval(0x1A);                    // 26
echo intval(42000000);                // 42000000
echo intval(420000000000000000000);   // 0
echo intval('420000000000000000000'); // 2147483647
echo intval(428);                   // 42
echo intval('42'8);                 // 34
echo intval(array());                 // 0
echo intval(array('foo''bar'));     // 1
?>

Примечания

Замечание:

Параметр base применяется только в том случае, если параметр var является строкой.

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

Версия Описание
5.1.0 Генерирует ошибку уровня E_NOTICE и возвращает 1, если в качестве var передан объект.

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