![PHP入门很轻松(微课超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/100/44510100/b_44510100.jpg)
上QQ阅读APP看书,第一时间看更新
2.4.6 数据类型之间的相互转换
数据从一种类型转换到另一种类型,就是数据类型转换。PHP虽然是弱类型语言,但有时也需要用到类型转换。PHP数据类型的转换主要有以下3种方式。
1.用转换符进行数据转换
这种方法只需在变量前面加上用括号括起来的类型名称,允许转换的类型如表2-3所示。
表2-3 允许转换的类型
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-T33_36717.jpg?sign=1739526933-WOvZH0YDbtcz1Ii9Tx8NHeYr1xAxpjcc-0-336b78e7010a31a532d46c2044026b16)
【例2-11】用转换符进行数据转换(实例文件:源文件\ch02\2.11.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_36788.jpg?sign=1739526933-d7wdkOTCn01ur1l7yIxB0rwoBxXZGUcF-0-494e17f728bbe1a70dd5c8a3f5e5b64f)
运行结果如图2-11所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_2152.jpg?sign=1739526933-HlQ1ucaPNhQBPDEZWdSnImwHIDCZkyKd-0-27f4a59a29fe79e8c9bfe4478a821b1f)
图2-11 在变量之前加上目标类型来转换
提示:print_r()函数相较于前面介绍的print()函数来说,可以打印出复杂类型变量的值,例如数组和对象。
2.使用转换函数进行数据转换
intval()函数用于转换为整型,floatval()函数用于转换为浮点型,strval()函数用于转换为字符串型。
【例2-12】使用转换函数进行数据转换(实例文件:源文件\ch02\2.12.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_36789.jpg?sign=1739526933-Fren0rlRVmrUXLO0CjKQyoQL5H2YFkOw-0-44741e1adbb78f3640c6ffc05d455370)
运行结果如图2-12所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_2212.jpg?sign=1739526933-YXxGUKLr4GZXjOdihYtgEkRDQjTJV4g6-0-610f38abe499add60d3399a692630905)
图2-12 使用函数转换数据类型
3.使用settype()函数进行数据类型转换
settype()函数用于设置变量的数据类型。语法格式如下:
settype ( mixed $var , string type )
其实就是设置变量$var的类型为type,type可以取前面章节中所讲的数据类型,例如整型、浮点型、字符串型等。
【例2-13】使用settype()函数进行数据类型转换(实例文件:源文件\ch02\2.13.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_36791.jpg?sign=1739526933-8k5o5qjyNxqknLVXdvAWK8u2U5bb0ccg-0-f3b54ecd2795245e046462d85e4a32a2)
运行结果如图2-13所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P35_2294.jpg?sign=1739526933-hhNyB2dS3rR6PK5AxVb6DZEbZnq1dtVc-0-e49fff22e064402752301094eca5c5d3)
图2-13 settype()函数设置变量的数据类型
注意:在数据类型转换时要注意一下内容:在转换为布尔型时,NULL、0和未赋值的变量或数组都会被转换为False,其他的为True。在转换为整型时,布尔型的False转换为0,True转换为1;浮点型的小数部分被舍去;字符串型如果以数字开头就截取到非数字的位置,如果以非数字开头,则输出0。