当前空间的名称就是变量名,当前空间的数据(八种数据类型)就称为变量值
一、PHP变量的8个类型
四种标量类型:
boolean (布尔型) integer (整型) float (浮点型, 也称作 double) string (字符串)
两种复合类型:
array (数组) object (对象)
最后是两种特殊类型:
resource (资源) NULL (NULL)
二、PHP弱类型
我们知道,PHP是一种弱类型的语言(初始化一个变量的时候,并不需要指定它的类型),但是前面提供了PHP变量的8种类型,这前后两句话似乎有点矛盾,我们要怎么理解PHP的类型呢
首先,PHP的底层是存在8个类型的。
其次,当你对一个变量初始化或赋值的时候,PHP的底层会自动识别即将赋予的值,然后设置该变量的类型。
再次,当你对两个变量进行逻辑判断的时候,PHP的底层会依照以下规则先进性类型转换再进行逻辑判断。
1,逻辑判断是算术运算符,加减乘(+-*),如果任何一个操作数是浮点数,则所有的操作数都被当成浮点数,结果也是浮点数。否则操作数会被解释为整数,结果也是整数,
2,逻辑判断是算术运算符,除(/),除法运算符总是返回浮点数。只有在下列情况例外:两个操作数都是整数(或字符串转换成的整数)并且正好能整除,这时它返回一个整数。
3,逻辑判断是算术运算符,取模(%),所有的操作位都被转换成整数,结果也是整数。
4,逻辑判断是算术运算符,取反(-),如果操作数是一个浮点数则结果也是浮点数,否则总是先把操作数转换成整数,结果也是整数。
5,逻辑判断是位运算符,所有的操作数都被转换成整数,结果也是整数。
6,逻辑判断是比较运算符,如果其中一个操作数是布尔值,则另外一个操作费会被转换为布尔值,如果一个操作数是浮点型,则另外一个操作数也会被转换为浮点型,其余情况,两个操作数都会被转换成整数。无论操作数是什么类型,比较运算符的结果总是为布尔值。