intval

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

intval獲取變量的整數(shù)值

說(shuō)明

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

通過(guò)使用指定的進(jìn)制 base 轉(zhuǎn)換(默認(rèn)是十進(jìn)制),返回變量 valueint 數(shù)值。 intval() 不能用于 object,否則會(huì)產(chǎn)生 E_NOTICE 錯(cuò)誤并返回 1。

參數(shù)

value

要轉(zhuǎn)換成 integer 的數(shù)量值

base

轉(zhuǎn)化所使用的進(jìn)制

注意:

如果 base 是 0,通過(guò)檢測(cè) value 的格式來(lái)決定使用的進(jìn)制:

  • 如果字符串包括了 "0x" (或 "0X") 的前綴,使用 16 進(jìn)制 (hex);否則,
  • 如果字符串以 "0" 開始,使用 8 進(jìn)制(octal);否則,
  • 將使用 10 進(jìn)制 (decimal)。

返回值

成功時(shí)返回 value 的 integer 值,失敗時(shí)返回 0。 空的 array 返回 0,非空的 array 返回 1。

最大的值取決于操作系統(tǒng)。 32 位系統(tǒng)最大帶符號(hào)的 integer 范圍是 -2147483648 到 2147483647。舉例,在這樣的系統(tǒng)上,intval('1000000000000') 會(huì)返回 2147483647。64 位系統(tǒng)上,最大帶符號(hào)的 integer 值是 9223372036854775807。

字符串有可能返回 0,雖然取決于字符串最左側(cè)的字符。 使用 整型轉(zhuǎn)換 的共同規(guī)則。

范例

示例 #1 intval() 例子

下面的例子運(yùn)行于 32 位系統(tǒng)上。

<?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
echo intval(false);                   // 0
echo intval(true);                    // 1
?>

注釋

注意:

除非 value 是一個(gè)字符串,否則 base 不會(huì)起作用。

參見