(PHP 4, PHP 5, PHP 7, PHP 8)
intval — Отримує цілочисельне значення змінної
Повертає цілочисельне (integer) значення var
,
використовуючи основу, вказану через параметр base
,
для перетворень (початково база 10). Функція intval()
не повинна приймати в якості параметрів об'єкти, оскільки це спричинятиме
виведення помилки рівня E_NOTICE
та повертатиметься 1.
var
Скалярне значення для конвертації до цілочисельного (integer)
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(42, 8); // 42
echo intval('42', 8); // 34
echo intval(array()); // 0
echo intval(array('foo', 'bar')); // 1
?>
Зауваження:
Параметр
base
не застосовуватиметься, якщо параметрvar
буде рядком.