转换步骤:1、使用foreach语句通过引用循环的方式遍历数组,语法“foreach ($array as &$value){//循环体语句块;}”;2、在循环体中,使用is_int()函数判断元素“$value”是否为整数类型,如果不是则使用intval()函数将其转为int类型,语法“if(!is_int($value)){$value=intval($value);}”。

本教程操作环境: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);

1.png

$b = array(FALSE,"254",3.14,3,null,TRUE); 
f($b);

3.png

函数说明:

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);  
?>

1.png

扩展知识:将值转成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.png

2)、利用强制类型转换

在要转换的数之前加上用括号括起来的目标类型“(int)”或“(integer)”,将其强制转为整型。

<?php  
$n=123.9;  
var_dump($n);  
$num1=(integer)$n;  
$num2=(int)$n;  
var_dump($num1);  
var_dump($num2); 
?>

3.png


php数组怎么将元素值转换成int整数类型