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

    php怎么强转数据类型

    青灯夜游青灯夜游2021-11-18 18:03:17原创71

    强转方法:1、在要转换的变量之前加上用括号括起来的目标类型(“(int)”、“(bool)”、“(float)”等);2、使用类型转换函数intval()、floatval()、boolval()、strval()、settype()。

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

    PHP强制类型转换

    PHP 中的强制类型转换和其他语言很类似,可以在要转换的变量之前加上用括号括起来的目标类型(例如$var = (int)3.1415;),也可以使用具体的类型转换函数(例如 intval()floatval()strval() 等)或者 settype() 来转换类型。

    使用在变量之前加上用括号括起来的目标类型的方式强制转换变量类型时,括号中允许使用的变量类型如下所示:

    使用具体的转换函数 intval()floatval()boolval()strval() 等来转换变量的类型时,这些函数的作用如下所示:

    【示例】使用以上几个函数强制转换变量的类型。

    <?php
        $str = '123.456abc';
        $int = intval($str);
        echo '变量 $int 的类型为:'.gettype($int).'<br>';
        $float = floatval($str);
        echo '变量 $float 的类型为:'.gettype($float).'<br>';
        $string = strval($str);
        echo '变量 $string 的类型为:'.gettype($string);
    ?>

    运行结果如下:

    变量 $int 的类型为:integer
    变量 $float 的类型为:double
    变量 $string 的类型为:string

    上面介绍的两种强制类型转换的方式都不会改变被转换变量本身的类型,而是通过将转换得到的新类型的数据赋值给新的变量,原变量的类型和值不变。

    如果需要改变变量本身的类型可以使用 settype() 函数来完成,函数的语法格式如下:

    settype(mixed &$var, string $type)

    其中,$var 为要转换的变量;$type 为要转换的类型,可以是 boolean(bool)integer(int)float(double)stringarrayobjectnull

    【示例】使用 settype() 函数强制转换变量的类型。

    <?php
        $str = (string)'123abc';
        $bool = (bool)true;
        settype($str, 'integer');
        settype($bool, 'string');
        echo '$str 的类型为:'.gettype($str).'<br> $bool 的类型为:'.gettype($bool);
    ?>

    运行结果如下:

    $str 的类型为:integer
    $bool 的类型为:string

    使用强制类型转换有以下几点需要注意:

    推荐学习:《PHP视频教程

    以上就是php怎么强转数据类型的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 强制类型转换
    上一篇:php类的定义与实例化方法是什么 下一篇:json字符串怎么转为php变量
    VIP会员

    相关文章推荐

    • php怎么实现关键字描红• php怎么将2.131转换成整数• php 怎么实现rgb转十六进制• php gd 乱码怎么办• php里面不能写js吗

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网