(PHP 4, PHP 5, PHP 7, PHP 8)
intval — 獲取變量的整數(shù)值
通過(guò)使用指定的進(jìn)制 base
轉(zhuǎn)換(默認(rèn)是十進(jìn)制),返回變量 value
的 int 數(shù)值。
intval() 不能用于 object,否則會(huì)產(chǎn)生
E_NOTICE
錯(cuò)誤并返回 1。
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(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
?>
注意:
除非
value
是一個(gè)字符串,否則base
不會(huì)起作用。