本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑
(相关资料图)
php中int和intval有什么区别
intval() 函数用于获取变量的整数值。
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 var 的 integer 数值。 intval() 不能用于 object,否则会产生 E_NOTICE 错误并返回 1。
php里int是指Integer整型
intval()函数
语法:
intval ( mixed $value , int $base = 10 ) : int
value为要转换成 integer 的数量值
base为转化所使用的进制(不填默认为10进制)
返回值:int型变量
PS:除非 value 是一个字符串,否则 base 不会起作用。
示例:
"; // 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?>
(int)强制转换
示范:
";echo (int)4.2; // 4echo "
"; echo (int)"42"; // 42echo "
"; echo (int)"+42"; // 42echo "
"; echo (int)"-42"; // -42echo "
"; echo (int)042; // 34echo "
"; echo (int)"042"; // 42echo "
"; echo (int)1e10; // 1410065408echo "
"; echo (int)"1e10"; //2147483647echo "
"; echo (int)0x1A; // 26echo "
"; echo (int)42000000;// 42000000echo "
"; echo (int)420000000000000000000; //-1609564160echo "
"; echo (int)"420000000000000000000"; //2147483647echo "
";/*echo intval(42, 8)."
"; echo intval("42", 8)."
"; *//*int的强制转换不是函数,所以无法实现*/ echo (int)array();// 0echo "
"; echo (int)array("foo", "bar");//1echo "
"; echo (int)false; //0echo "
"; echo (int)true; //1echo "
"; ?>
小结:
int的强制转换与intval()函数在面对boolean、int、float、array时两者保持一致(不超出各种类型显示的最大值)。
intval()如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-",则从第二个开始算起。如果参数是符点数,则返回他取整之后的值。
int 类型最大值为 2147483647一般在类型转换时 如果超过这个最大值 就按最大值显示,(int)则显示-1609564160。
推荐学习:《PHP视频教程》
以上就是php中int和intval有什么区别的详细内容,更多请关注php中文网其它相关文章!