• 技术文章 >后端开发 >PHP问题

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

    青灯夜游青灯夜游2022-09-21 18:14:57原创131

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

    php入门到就业线上直播课:进入学习

    本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑

    PHP 是弱数据类型的编程语言,所以 PHP 中的数组变量可以存储任意多个、任意类型的数据,并且可以实现其他强数据类型中的堆、栈、队列等数据结构的功能。

    简单来说,PHP数组元素的类型没有限制,可以是数字(整数和小数)、字符串、布尔值、数组、Object对象等类型。

    那么怎么让php数组中的元素都是int整数类型呢?将不是int整数类型的元素转为int整数类型即可,下面给大家介绍实现步骤。

    转换步骤:

    步骤1、使用foreach语句通过引用循环的方式遍历数组

    foreach ($array as &$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视频教程

    以上就是php数组怎么将元素值转换成int整数类型的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php php数组
    上一篇:php怎么求数组平均值avg 下一篇:php不用函数怎么实现数组去重
    VIP课程(WEB全栈开发)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• php数组合并保留全部元素可以吗• php数组的元素类型必须一样吗• php数组键名能省略吗• php数组传递是引用传值吗• php数组键可以用数字或者什么
    1/1

    PHP中文网