intval 获取变量的整数值

发表日期:2021-07-01 08:57:21 | 来源: | | 浏览(865) 分类:变量处理 函数

intval

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

intval获取变量的整数值

说明

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

通过使用指定的进制 base 转换(默认是十进制),返回变量 valueint 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。

参数

value

要转换成 integer 的数量值

base

转化所使用的进制

注意:

如果 base 是 0,通过检测 value 的格式来决定使用的进制:

  • 如果字符串包括了 "0x" (或 "0X") 的前缀,使用 16 进制 (hex);否则,
  • 如果字符串以 "0" 开始,使用 8 进制(octal);否则,
  • 将使用 10 进制 (decimal)。

返回值

成功时返回 value 的 integer 值,失败时返回 0。 空的 array 返回 0,非空的 array 返回 1。

最大的值取决于操作系统。 32 位系统最大带符号的 integer 范围是 -2147483648 到 2147483647。举例,在这样的系统上,intval('1000000000000') 会返回 2147483647。64 位系统上,最大带符号的 integer 值是 9223372036854775807。

字符串有可能返回 0,虽然取决于字符串最左侧的字符。 使用 整型转换 的共同规则。

范例

示例 #1 intval() 例子

下面的例子运行于 32 位系统上。

<?php 
echo intval(42);
                      // 42echo intval(4.2);
                     // 4echo intval('42');
                    // 42echo intval('+42');
                   // 42echo intval('-42');
                   // -42echo intval(042);
                     // 34echo intval('042');
                   // 42echo intval(1e10);
                    // 1410065408echo intval('1e10');
                  // 1echo intval(0x1A);
                    // 26echo intval(42000000);
                // 42000000echo intval(420000000000000000000);
   // 0echo intval('420000000000000000000');
 // 2147483647echo intval(42, 8);
                   // 42echo intval('42', 8);
                 // 34echo intval(array());
                 // 0echo intval(array('foo', 'bar'));
     // 1echo intval(false);
                   // 0echo intval(true);
                    // 1?>

注释

注意:

除非 value 是一个字符串,否则 base 不会起作用。

参见

集速网 copyRight © 2015-2022 宁ICP备15000399号-1 宁公网安备 64010402001209号
与其临渊羡鱼,不如退而结网
欢迎转载、分享、引用、推荐、收藏。