在PHP程序中,数据类型可以分成3种:标量数据类型、复合数据类型(即将多个简单数据类型组合在一起,存储在一个变量名中)和特殊数据类型。
1.标量数据类型
标量数据类型包括以下几种。
(1)boolean:布尔型
布尔变量是PHP变量中最简单的。它保存一个True或者False值。其中True或者False是PHP的内部关键字。设定一个布尔型的变量,只需将True或者False赋值给该变量
(2)string:字符串
字符串是连续的字符序列,字符串中的每个字符只占用一个字节。在PHP中,定义字符串有3种方式:
(3)integer:整数
整数数据类型只能包含整数。这些数据类型可以是正数或负数。在32位的操作系统中,有效的范围是−2 147 483 648~+2147 483 647。
(4)double:浮点数
浮点数据类型可以用来存储数字,也可以保存小数。它提供的精度不整数大得多。在32位的操作系统中,有效的范围是1.7E-308~1.7E+308。
2.复合数据类型
复合数据类型包括以下两种。
(1)array:数组
可以是二维、三维或者多维,数组中的各元素可以是string、integer或double,也可以是array。
(2)object:对象类型
3.特殊数据类型
特殊数据类型包括以下两种。
(1)resource:资源
资源是PHP内的几个函数所需要的特殊数据类型,由编程人员来分配。
(2)null:空值
空值是最简单的数据类型。表示没有为该变量设置任何值,另外,空值(NULL)不区分大小写。
boolean:布尔型,表达了真值,可以为true或false,不区分大小写如:$foo=true;
当转换为boolean时,以下值被认为是false
布尔值:false
整型值:0
浮点值:0.0
空白字符串和字符串"0"
没有成员变量的数组
特殊类型NULL
integer:整型
如果是八进制:以0开头
如果是十六进制:以0x开头
float:也叫浮点数,双精度数或实数
string:字符型
定义字符串时,只有一种引号被视为定义符,即单引号或双引号,于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析,这样你就可以在双引号串中包含任何其他字符甚至单引号:
如:$s="I'mastudent";$s='Iama"student"';
当php遇到与串的开头相对应的引号时,便认为已经到了字符串的尾部:
如:"whydoesn't"this"work?"会被php语法分析器分成三部分,this是多余的字符,分析器无法处理。
上面的例子企图在双引号中包含双引号,而分析器在遇到第二个双引号时便认为字符串结束了,要达到包含引号的目的,必须分析器在遇到串内普通引号的时候忽略它的原意,我们在引号的前面加上一个反斜杠来告诉php,这个引号是php的一部分,
如:$s="Iama\"student\"";
单引号中不支持变量解析和转义字符,单引号中字符串包含单引号的话,应该用\'
注意:echo"$aatest";//在双引号中,变量名称被变量值代替
echo'$aatest';//在单引号中,变量名称和其他文本都会不经修改而发送给浏览器
复合类型:两种类型,数组类型或对象类型
array:数组类型
元素可以为不同类型
元素可以为键值对,键只能是整数或字符串:array(1=>"hello",2=>"world");
默认时键值为整数,且从零开始:array("hello","world");