📜  echo intval (1)

📅  最后修改于: 2023-12-03 15:30:35.666000             🧑  作者: Mango

介绍 intval()

intval() 是 PHP 内置的一个函数,它用于将一个值转换为整数。这个函数的作用非常简单,但在编写 PHP 应用程序时经常用到。

语法

intval( $var, $base = 10 )

  • $var (必需):要转换为整数的变量
  • $base (可选):转换使用的进制数,默认为 10,可以是 2~36 之间的任何整数值(包括 2 和 36)
返回值

intval() 的返回值为一个整数。

如果传入的 $var 参数是一个字符串,则 intval() 会尝试将其转换为整数。如果字符串以数字开头,则会将开头的数字转换为整数并返回。否则,intval() 返回 0。如果字符串以数字和字母的混合形式(如 "123abc")开头,则只会将数字(即 "123")作为整数返回。

如果传入的 $var 参数是一个浮点数,则 intval() 返回其整数部分。

如果传入的 $var 参数是一个布尔值,则 intval() 返回 1(如果 $var 的值为 true)或 0(如果 $var 的值为 false)。

示例

以下代码演示了 intval() 的基本用法:

$num1 = "123";
$num2 = "456abc";
$num3 = 789.5;
$bool1 = true;
$bool2 = false;

echo intval( $num1 );  // 123
echo intval( $num2 );  // 456
echo intval( $num3 );  // 789
echo intval( $bool1 ); // 1
echo intval( $bool2 ); // 0

以下代码演示了如何使用 $base 参数指定进制数:

$num = "1010";

echo intval( $num, 2 );  // 10 (使用二进制转换成十进制)
echo intval( $num, 8 );  // 520 (使用八进制转换成十进制)
echo intval( $num, 16 ); // 4112 (使用十六进制转换成十进制)
注意事项

intval() 不支持将一个对象转换为整数。如果传入一个对象参数,则会产生一个 E_NOTICE 级别的警告,返回值为 0。

$base 参数的值大于 10 时,使用大写字母表示 10~35 的数字(如 "A" 表示 10,"B" 表示 11,以此类推)。如果传入的字符串中包含小写字母,则会被转换成大写字母。

如果需要进行科学计数法的转换,请使用 floatval()(float) 强制类型转换。