整数类型int是怎么转换的?
转换步骤:1、使用foreach语句通过引用循环的方式遍历数组,语法“foreach ($array as & $value){ //循环体语句块; } ”;2、在循环体中,使用is_int()函数判断元素“$value”是否为整数类型,如果不是则使用intval()函数将其转为int类型,语法“if(!is_int($value)){ $value=intval($value); } ”。
PHP 是弱数据类型的编程语言,所以 PHP 中的数组变量可以存储任意多个、任意类型的数据,并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能。
简单来说,PHP数组元素的类型没有限制,可以是数字(整数和小数)、字符串、布尔值、数组、Object对象等类型。
那么怎么让php数组中的元素都是int整数类型呢?将不是int整数类型的元素转为int整数类型即可,下面给大家介绍实现步骤。
转换步骤:
步骤1、使用foreach语句通过引用循环的方式遍历数组
foreach ($array as &
$value){
//循环体语句块;
}
登录后复制
遍历给定的 $array 数组,在每次循环中会将当前数组的值赋给 $value。
一般情况下,使用foreach语句遍历数组时,是对数组的备份进行操作,一般不会影响数组本身。
但采用引用循环(在 $value 之前加上 & ,这样foreach语句会以引用赋值而不是拷贝一个值),那么在循环体内对数组进行操作,就会影响数组本身。
步骤2:在循环体中,将元素转为int整数类型
使用is_int()函数判断元素$value是否为整数类型,如果不是则使用intval()函数将其转为int类型
if(!is_int($value)){
$value=intval($value);
}
登录后复制
实现代码:
?php
header("content-type:text/html;
charset=utf-8");
function f($arr){
var_dump($arr);
foreach($arr as &
$v){
if(!is_int($v)){
$v=intval($v);
}
}
unset($v);
// 最后取消掉引用
echo "转换后";
var_dump($arr);
}
?>
登录后复制
调用函数
$a = array(11,"254",12,3.14,3,5);
f($a);
登录后复制
$b = array(FALSE,"254",3.14,3,null,TRUE);
f($b);
登录后复制
函数说明:
1、is_int()函数
is_int() 函数用于检测变量是否是整数,如果指定的变量是整数 TRUE,否则返回 FALSE。
别名函数():is_integer()、is_long()
注意: 若想测试一个变量是否是数字或数字字符串(如表单输入,它们通常为字符串),必须使用 is_numeric()。
2、intval()函数
intval()直接取整,舍弃小数,保留整数
?php
$str="123.9";
var_dump($str);
$int=intval($str);
//转换后数值:123
var_dump($int);
?>
登录后复制
扩展知识:将值转成int(整数)类型
1)、使用settype() 函数
settype(var,type)
函数用于设置变量的类型,可以将变量转为指定类型。
只需将参数type设置为“int”或“integer”即可将变量转为int类型。注:该函数修改原变量,返回值为布尔类型(设置成功时返回 TRUE, 失败时返回 FALSE。)。
?php
$str="123.9";
var_dump($str);
$int=settype($str,"int");
var_dump($int);
//输出bool(true)
var_dump($str);
//输出int(12)
?>
登录后复制
2)、利用强制类型转换
在要转换的数之前加上用括号括起来的目标类型“(int)”或“(integer)”,将其强制转为整型。
?php
$n=123.9;
var_dump($n);
$num1=(integer)$n;
$num2=(int)$n;
var_dump($num1);
var_dump($num2);
?>
登录后复制
以上就是关于“整数类型int是怎么转换的?”的介绍了,感谢各位的阅读,希望文本对大家有所帮助。如果想要了解更多知识,欢迎关注网络,小编每天都会为大家更新不同的知识。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 整数类型int是怎么转换的?
本文地址: https://pptw.com/jishu/650089.html