intval
PHP Manual
PHP Manual»Variable handling Функції»intval

intval

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

intvalОтримує цілочисельне значення змінної

Опис

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

Повертає цілочисельне (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 буде рядком.

Журнал змін

Версія Опис
5.1.0 Кидає E_NOTICE та повертає 1, при передачі об'єкта через var.

Прогляньте також

To Top