3.变量(二):变量的类型
PHP中有8种类型:boolean(布尔型)、integer(整型)、float(浮点型,也称为double)、string(字符串)、array(数组)、object(对象)、resource(资源)、NULL。
可以使用函数var_dump(),查看某个表达式的值和类型。(列如:
b
o
o
l
=
T
R
U
E
;
/
/
一
个
布
尔
值
类
型
;
v
a
r
d
u
m
p
(
bool=TRUE;//一个布尔值类型;var_dump(
bool=TRUE;//一个布尔值类型;vardump(bool);//直接输出变量$bool的类型和值bool(true))
1、布尔型(boolean)
在PHP中布尔类型不是只有TURE和FALSE两个值。当是其他值会自动转化成布尔类型的值。以下值被认为是FALSE,所有其他值都被认为是TRUE(包括任何资源):
1.布尔值FALSE。
2.整型值0(零)为假,-1和其他非零值(无论正负)一样被认为是TRUE。
3.浮点型值0.0(零)
4.空白字符串和字符串“0”(var_dump(bool) “false”的值为TRUE)
5.没有成员变量的数组。(var_dump(bool) array()输出的为FALSE。var_dump(bool) array(12)输出的值为TRUE)
6.没有单元的对象(仅适用于PHP4)
7.特殊类型NULL(包括尚未设定的变量)
2\整型(integer)
我们常用的为十进制,但也可以为8进制,由0—7的数字序列组成,数字前必须要加上“0”零。(
i
n
t
=
0122
)
;
还
可
以
为
16
进
制
,
数
字
前
必
须
加
”
0
x
”
(
int=0122);还可以为16进制,数字前必须加”0x”(
int=0122);还可以为16进制,数字前必须加”0x”(int=0x1A).三者均可用“+”“-”表正负但是“+”经常被省略。
(对于32位的操作系统整型的最大值为2147483647,最小值为-2147483648.超过这个范围,将被解释为float)
3、浮点型(float或double)
浮点数表示的范围1.7E-38~1.7E+38,精确到小数点后15位。但是浮点数只是一种近似值。如果浮点数位4,其内部可以为3.9999999…;所以不要相信浮点数结果精确到的最后一位,也不要把两者相互比较是否相等。如果需要更高的精度,应该使用数学函数,或者gmp()函数;4.字符串(string)
4.1单引号
A.在单引号引起的字符串不能包含单引号。如果实在需要包含单引号则需要使用转义字符(\’).与此同时需要表示斜杆则需要转义字符(\)。除此之外的转义字符均不能被识别,将会把\一起输出。
B.在单引号中出现的变量不会被变量的值代替。会把变量名原样输出。
优点是处理简单的字符串时的效率更高。
4.2双引号
A.双引号字符串最重要的一点是其中的变量名会被变量值代替。
B.使用双引号时,PHP懂得更多的转义字符。(常用的\n;\r;\t;\;$;\”;[0-7]{1,3};\x[0-9A-Fa-f]{1,2})如果哟时识别不了的,反斜杠也会被显示出来.
下面图片种展示了变量名是否有效,是否会被解析。4.3定界符
A.定界符,应该在“<<<”后提供一个标识符开始,然后是包含的字符串,最后是同样标识符结束字符串,后面只能跟封号;(标识符:只能包含字母、数字、下划线,而且必须以下划线或非数字字符开始)
B.定界符种的变量也会被解析。
C.在定界符中可以使用任意转义字
D.不能用定界符初始化类成员。(以下是非法的例子,不能使用定界符初始化类成员 class foo{public $ bar=<<<EOT bar EOT;})
5.数组(array)
内容过多,单独讲解
6.对象(object)
内容过多,单独讲解,此处给一个例子
7.资源类型(resource)
通过专门的函数来建立和使用的。某些函数必须引入相应资源才可工作。(理解还不够透彻。独立讲解)
8.NULL类型
NULL值表示变量没有值为空,且不区分大小写,以下情况为NULL
A.将变量直接赋值给NULL
B.声明的变量尚未被赋值
被unset()函数销毁的变量