array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'function.intval.php', 1 => 'intval', ), 'up' => array ( 0 => 'ref.var.php', 1 => 'Функции для работы с переменными', ), 'prev' => array ( 0 => 'function.gettype.php', 1 => 'gettype', ), 'next' => array ( 0 => 'function.is-array.php', 1 => 'is_array', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/var/functions/intval.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
intval — Возвращает целочисленное значение переменной
Возвращает целочисленное значение (int) переменной value
,
рассматривая ее как значение в системе счисления с основанием, которое определено в параметре base
(по умолчанию основание равно 10). Функцию intval()
нельзя использовать с объектами, попытка это сделать
вызовет ошибку уровня E_WARNING
и вернёт значение 1.
value
Скалярное значение для конвертации в целое
base
Основание системы счисления для преобразования
Замечание:
Если значение параметра
base
равно 0, основание системы счисления будет определено форматом параметраvalue
:
- если строка включает префикс "0x" (или "0X"), будет взято основание 16 (шестнадцатеричное);
- иначе, если строка начинается с "0b" (или "0B"), будет взято основание 2 (двоичное);
- иначе, если строка начинается с "0", будет взято основание 8 (восьмеричное);
- иначе основание будет равно 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, хотя это зависит от первого символа в строке. Будут применены общие правила преобразования в целые.
Версия | Описание |
---|---|
8.0.0 |
Уровень ошибки при преобразовании из объекта был изменён
с E_NOTICE на E_WARNING .
|
Пример #1 Примеры использования intval()
Следующие примеры приведены для 64-битной системы.
<?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); // 10000000000
echo intval('1e10'); // 10000000000
echo intval(0x1A); // 26
echo intval('0x1A'); // 0
echo intval('0x1A', 0); // 26
echo intval(42000000); // 42000000
echo intval(420000000000000000000); // -4275113695319687168
echo intval('420000000000000000000'); // 9223372036854775807
echo intval(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
echo intval(false); // 0
echo intval(true); // 1
?>
Замечание:
Параметр
base
будет учтён только тогда, когда значение параметрvalue
окажется строкой.