PHP支持8种数据类型,还有一些伪类型。4种标量类型:布尔型(boolean)、整型(integer)、浮点型(float 或 double)、字符串(string)。2种复合类型:数组(array)、对象(object)。2种特殊类型:资源(resource)、NULL。3种
伪类型:混和(mixed)数字(number)回馈(callback)。
1.布尔型(boolean)
如下值被认为是false
(1)布尔值false
(2)0(0.0)为false,非0为true
(3)空白字符串和字符串"0"
(4)没有成员变量的数组
(5)没有单元的对象(仅适用于PHP4)
(6)特殊类型NULL(包括还没有设定的变量)
2.整型(integer)
(1)-2 147 483 648 <= 整型范围 <=
2 147 483 647
(2)若是给定的一个数超出了integer范围,将会被解释为float
3.浮点型(float 或 double)
(1)1.7E-38 <= 浮点型范围 <=1.7E+38
(2)精确到小数点后15位
4.字符串(String)
(1)字符串使用单引号('')、双引号("")、定界符(<<<)来定义。
(2)单引号字符串中出现的变量不会被变量的值替代,即PHP不会解析单引号的变量,而是将变量名原样输出。
(3)定义简单字符串时,使用单引号效率会更高,由于PHP解析时不会花费一些处理字符转义和解析变量上的开销。所以,若是没有特别需求,应使用单引号定义字符串。
(4)双引号字符串最重要的一点是其中的变量名会被变量值替代,即解析双引号中的包含变量。
(5)字符串定界的方法使用定界符语法("<<<")。应该在<<<以后提供一个标识符开始,而后是包含的字符串,最后是一样地标识符结束字符串。
5.数组(Array)
(1)$array = array("a",1,false);
(2)$array = array("foo" => "bar",10 => true);
6.对象(Object)
(1)对象和数组都是复合数据类型,但对象是一种更高级的数据类型。一个对象类型的变量,是由一组属性值和一组方法构成的,其中属性代表对象的一种状态,方法一般用来代表对象的功能。
7.资源类型(Resource)
(1)资源是一种特殊类型的变量,保存了到外部资源的一个引用。
(2)资源是经过专门的函数来创建和使用的。
(3)使用资源类型变量保存有为打开文件、数据库链接、图形画布区域等的特殊句柄。
(4)这些资源由程序员建立、使用和释放,任何资源在不须要时都应该被及时释放,若是程序员忘记了释放资源,系统自动启用垃圾回收机制,以免内存的消耗殆尽。
(5)资源文件若是建立成功,则返回资源引用付给变量,若是建立失败,会返回布尔型false。
8.NULL类型
(1)特殊的NULL值标示一个变量没有值,NULL类型惟一可能的值就是NULL。NULL不表示空格,也不表示0,也不是空字符串,而是表示一个变量的值为空。
(2)NULL不区分大小写。
(3)如下状况的变量被认为NULL
①将变量直接赋值为NULL
②声明的变量还没有被赋值
③被unset()函数销毁的变量
9.伪类型
(1)伪类型不是PHP语言中的基本数据类型,只是由于PHP是弱类型语言,因此在一些函数中,一个参数能够接受多种类型的数据,还能够接受别的函数做为回调函数使用。为了确保代码的易读性,在本书中介绍一些伪类型的使用。
(2)三种伪类型有
①mixed:说明一个参数能够接受多种不一样的(但并非全部的)类型。例如gettype()能够接受全部的PHP类型,str_replace()能够接受字符串和数组。
②number:说明一个参数能够是integer 或 float。
③callback:有些诸如call_user_function()或usort()的函数接受用户自定义函数做为一个参数。callback函数不只能够是一个简单的函数,还能够是一个对象的方法,包括静态类的方法,一个PHP函数用函数名字符串来传递。能够传递任何内置的或者用户自定义的函数,除了array(),echo(),empty(),eval(),exit(),isset(),list(),print()和unset()。