![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=1738871663-awl9zc7p5ffPMtRpSKYsRGSgfNkdgEj9-0-03f1173e50bbda3ca785677e6b1955e4)
【例2-11】用转换符进行数据转换(实例文件:源文件\ch02\2.11.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_36788.jpg?sign=1738871663-EUXTfIfTwiIsvuoImM8OhidEL5orDYUu-0-71f734fb4940e14781929344e56c7b10)
运行结果如图2-11所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_2152.jpg?sign=1738871663-x1RClcPmoXOmAnnYdFLfO6gCcVoMq1uI-0-431eb840d4c4fd3dc2b401e9ecace777)
图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=1738871663-V3kEGWrUY0Nckn22VHx2SZYiohIZKRql-0-f030561410aba031f8982d9a67553d52)
运行结果如图2-12所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P34_2212.jpg?sign=1738871663-Mghi3yqFcop5fKhhAa90icHQ6gOYETeu-0-2011f91360a5e66c4fd4a053487311f8)
图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=1738871663-9iZXxHlDqPhyWm9MtwRejN2q1f4RzYFK-0-9f813c704b3e34e70fd8ecb8c3ff3a2b)
运行结果如图2-13所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P35_2294.jpg?sign=1738871663-DtPz6RrqbVqb2yUA2FkPwQ6QiAYpcwKW-0-94981edf5cf50b5085a3b15f1bac0dc7)
图2-13 settype()函数设置变量的数据类型
注意:在数据类型转换时要注意一下内容:在转换为布尔型时,NULL、0和未赋值的变量或数组都会被转换为False,其他的为True。在转换为整型时,布尔型的False转换为0,True转换为1;浮点型的小数部分被舍去;字符串型如果以数字开头就截取到非数字的位置,如果以非数字开头,则输出0。