转换步骤:1、使用foreach语句通过引用循环的方式遍历数组,语法“foreach ($array as &$value){//循环体语句块;}”;2、在循环体中,使用is_int()函数判断元素“$value”是否为整数类型,如果不是则使用intval()函数将其转为int类型,语法“if(!is_int($value)){$value=intval($value);}”。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
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);
?>
登录后复制
推荐学习:《PHP视频教程》
以上就是php数组怎么将元素值转换成int整数类型的详细内容,更多请关注自由互联其它相关文章!