可以转化。转化步骤:1、使用foreach语句通过引用循环的方式遍历数组,语法“foreach ($arr as &$v){//循环体语句块;}”;2、在循环体中,使用intval()或者settype()函数将数组元素“$v”都转为int(整数)类型即可,语法“$v=intval($v);”或“settype($v,"int");”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php可以把数组转化int(整数)数组,即数组中的元素都是整数。
在php中,可以利用foreach语句和intval()(settype())函数来实现转换。
转化步骤:
步骤1:使用foreach语句通过引用循环的方式遍历数组
foreach ($arr as &$v){ //循环体语句块; }
遍历给定的 $arr 数组,在每次循环中会将当前数组的值赋给 $v。
在 $v 之前加上 &
,这样foreach语句会以引用赋值而不是拷贝一个值,这样在循环体内对数组进行操作,就会影响数组本身。
步骤2:在循环体中,使用intval()或者settype()函数将数组元素都转为int(整数)类型
-
intval()
:用于获取变量的整数值; -
settype(变量,"type")
,用于将变量转为指的type类型;当type为"integer" (或为"int",从 PHP 4.2.0 起)时,可设置为整数。
$v=intval($v); //或者 settype($v,"int");
完整示例代码:
<?php header('content-type:text/html;charset=utf-8'); $arr = ["12","23",true,null,"45",2,3,4]; var_dump($arr); foreach($arr as &$v){ // $v=intval($v); settype($v,"int"); } var_dump($arr); ?>
可以看出,在最后一个元素前,有一个&,那是因为数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。我们需要使用unset() 来将其销毁。
unset($v); // 最后取消掉引用
说明:
settype() 函数用于设置变量的类型。
bool settype ( mixed &$var , string $type )
参数说明:
-
$var: 要转换的变量。
-
$type: type 的可能值为。
-
"boolean" (或为"bool",从 PHP 4.2.0 起)
-
"integer" (或为"int",从 PHP 4.2.0 起)
-
"float" (只在 PHP 4.2.0 之后可以使用,对于旧版本中使用的"double"现已停用)
-
"string"
-
"array"
-
"object"
-
"null" (从 PHP 4.2.0 起)
-
settype() 函数会改变原变量。
返回值:设置成功时返回 TRUE, 失败时返回 FALSE。
推荐学习:《PHP视频教程》