首页 >后端开发 >PHP问题 >php可以把数组转化int(整数)数组吗

php可以把数组转化int(整数)数组吗

青灯夜游
青灯夜游原创
2022-08-11 18:26:112091浏览

可以转化。转化步骤:1、使用foreach语句通过引用循环的方式遍历数组,语法“foreach ($arr as &$v){//循环体语句块;}”;2、在循环体中,使用intval()或者settype()函数将数组元素“$v”都转为int(整数)类型即可,语法“$v=intval($v);”或“settype($v,"int");”。

php可以把数组转化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);
?>

1.png

可以看出,在最后一个元素前,有一个&,那是因为数组最后一个元素的 $value 引用在 foreach 循环之后仍会保留。我们需要使用unset() 来将其销毁。

unset($v); // 最后取消掉引用

2.png

说明:

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视频教程

以上是php可以把数组转化int(整数)数组吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn