数据类型转换
自动转换
也叫隐式转换
程序会根据上下文环境自动的进行转换
其它类型转换成数值型
- true->1
- false->0
- null->0
- 字符串如果以非法数值开始,直接转换成0;如果字符串以合法数值开始,一直取到第一个非法数值结束
其它类型转换成字符串型
- 数值型直接转换成数值本身
- true->1
- false->空字符串
- null->空字符串
- 数组->Array
- 资源->Resource id #数字
- 对象不能直接转换成字符串,会报致命错误,程序终止执行
其它类型转换成布尔类型假的有
- 0->false
- 0.0->false
- 空字符串”或者””或者’0’或者”0″->false
- null->false
- 空数组array()->false
强制转换
也叫显示转换
临时转换
- (变量类型)$变量名称
1.1 整型(int)$变量名称|(integer)$变量名称
1.2 浮点型(float|double|real)$变量名称
1.3 字符型(string)$变量名称
1.4 布尔型(bool|boolean)$变量名称
1.5 空(unset)$变量名称
1.6 数组(array)$变量名称
1.7 对象(object)$变量名称
- 通过系统函数实现
2.1intval($var)
返回变量转换成整型之后的值
2.2floatval($var)|doubleval($var)
返回变量转换成浮点型的值
2.3strval($var)
返回变量转换成字符串的值
2.4boolval($var)
返回变量转换成布尔类型的值
注意:临时转换不改变变量本身的类型
永久转换
settype($var,$type)
设置变量的类型gettype($var)
返回变量的类型
注意:不要使用gettype得到变量的类型,因为后续可能返回值会改变
通过变量函数库检测变量的类型
检测的结果要么true,要么false
变量类型 | 检测语法 |
---|---|
整型 | is_int()/is_integer()/is_long() |
浮点型 | is_float()/is_double()/is_real() |
字符串型 | is_string() |
布尔类型 | is_bool() |
标量类型 | is_scalar() |
空null | is_null() |
数组 | is_array() |
对象 | is_object() |
资源 | is_resource() |
是否为数值型或者字符串形式的数值 | is_numeric() |
数据类型比较
虽然 PHP 是弱类型语言,但也需要明白变量类型及它们的意义,因为我们经常需要对 PHP 变量进行比较,包含松散和严格比较。
- 松散比较:使用两个等号
==
比较,只比较值,不比较类型。 - 严格比较:使用三个等号
===
比较,除了比较值,也比较类型。
例如,"42"
是一个字符串,而 42
是一个整数。FALSE
是一个布尔值,而 "false"
是一个字符串。
PHP中 比较 0、false、null
本文是全系列中第6 / 24篇:PHP快速入门
- 1.1.1 PHP课程介绍
- 1.1.2 代码编辑器的安装和PHP环境的配置
- 1.1.3 PHP基础语法
- 1.2.1 PHP中的变量
- 1.2.2 PHP中的数据类型
- 1.2.3 PHP中的数据类型转换与比较
- 1.3.1 PHP中的常量
- 1.3.2 PHP中的预定义变量
- 1.4 PHP中的表达式与运算符
- 1.5 PHP中的流程控制
- 2.1.1 PHP函数的结构
- 2.1.2 PHP函数的参数
- 2.1.3 PHP复杂函数
- 2.1.4 PHP函数实战
- 2.2.1 PHP字符串函数库简介
- 2.2.2 PHP字符串函数实战练习
- 2.3 PHP数组简介和定义方式
- 2.4.1 PHP数组的使用、转换、运算符
- 2.4.2 PHP数组的应用
- 3.1.1 PHP中SESSION的学习
- 3.1.2 PHP中COOKIE的学习
- 3.2.1 PHP文件目录函数库简介/操作/实战
- 3.2.2PHP文件操作相关的常用函数与类的封装
- 3.3 深入浅出MySQL数据库