PHP(3):数据类型<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一、 数据类型

 
数据类型是具有相同特性的一组数据的统称。PHP早就提供了丰富的数据类型,PHP 5中又有更多补充。本节将介绍这些数据类型,可以分为3类:标量数据类型、复合数据类型和特殊数据类型。

 
1、  标量数据类型

 
标量数据类型只能包含单个的一项信息,以下都属于标量数据类型:布尔型、整型、浮点型和字符型。

 
2、  复合数据类型

 
复合数据类型允许将多个相同类型的项聚集起来,表示为一个实体。这包含数组(array)和对象(object)。

 
3、  特殊数据类型

 
特殊数据类型包括那些提供某种特殊用途的类型,因此无法归入其他任何类别。这包含资源(resource)和空(null)数据类型。

 
二、 标量数据类型

 
1、  布尔型(boolean)

 
布尔数据类型以数学家乔治·布尔(1815—1864)的姓名命名,他被认为是信息论的创始人之一。布尔变量表示真实性,只支持两个值:TRUE(真)或FALSE(假)。

当转换为 boolean 时,以下值被认为是 FALSE:

 
● 布尔值 FALSE

 
● 整型值 0(零)

 
● 浮点型值 0.0(零)

 
● 空白字符串和字符串 "0"

 
● 没有成员变量的数组

 
● 没有单元的对象(仅适用于 PHP 4)

 
● 特殊类型 NULL(包括尚未设定的变量)

 
所有其它值都被认为是 TRUE(包括任何资源)。

 
2、  整型(integer)

 
整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。

如果用八进制符号,数字前必须加上 0(零),用十六进制符号数字前必须加上 0x。

 
整型数的字长和平台有关,通常最大值是大约二十亿(32 位有符号)。PHP 不支持无符号整数。

 
如果给定的一个数超出了 integer 的范围,将会被解释为 float。同样如果执行的运算结果超出了 integer 范围,也会返回 float。

 
3、  浮点型(float或double)

 
浮点数(也叫浮点数,双精度数或实数),其字长和平台相关,通常最大值是 1.8e308 并具有 14 位十进制数字的精度(64 位 IEEE 格式)。

 
4、  字符型(string)

 
对于内容较少的字符型数据必须括成英文单引号或双引号之间。那么也就意味着单引号或双引号不能出现在字符数据之内,否则将会引起解析错误!如果内容中必须要出现单引号或双引号的话,那么就必须使用转义符!

 
5、  转义符

 
转义符固名思义就是其意思已经发生改变了,在PHP中,转义符共有以下几个:

 
转义符 
含义

\”

双引号

\’

单引号

\n

换行符

\r

回车符

\t

Tab键

\\

反斜线

\$

美元符号

 

对于双引号和单引号,我们格外来强调一下,如果是想在浏览器的效果中看到双引号或单引号,那么在PHP源代码中的双引号或单引号既可以通过HTML实体来表示,也可以通过转义符来表示(建议使用HTML实体);而如果是想在浏览器的源代码中得到双引号或单引号,那么只能通过转义符来表示了!我们通过以下的案例来说明这个问题!

 
<?php

$msg1 = stripcslashes("He said:\"I\'m fine\"");

 
$msg2 = "He said:&quot;I&#39; fine.&quot;";

 
echo("<p>{$msg1}</p>\n");

 
echo("<p>{$msg2}</p>\n");

 
?>

 
运行后的浏览器效果如下:
 

 
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

源代码如下:
 

 

经过源代码的对比,我们就发现为什么浏览器的效果中双引号或单引号用HTML实体来代表的原因了!

 
再来看看浏览器的源代码中的双引号或单引号的处理案例吧!
 
 
PHP代码:
 
<?php
 
echo("<p align=\"left\">吴华博客--http://pangdou.blog.51cto.com</p>");
 
?>

 
浏览器效果:
 

 

源代码效果:
 

 

三、 复合数据类型

 
1、  数组(array)

 
将一系列类似的项聚集在一起,并以某种特定的方式进行排列和引用。数组双具体的分为数字索引数组和关联数组

 
2、  对象(object)

 
PHP支持的另一种复合数据类型是对象。对象是面向对象程序编程(Object Oriented Programming,OOP )的核心概念。

 
四、 特殊数据类型

 
1、 资源(resource)

 
PHP通常用于与一些外部数据源交互,如数据库、文件和网络流。通常,这种交互通过句柄(handle)完成,成功地连接资源时会对句柄命名。这些句柄将保持对资源的引用,直到通信结束。这些句柄就属于资源数据类型。

 
2、 空值(null)

 
特殊的 NULL 值表示一个变量没有值。

 
下列情况下一个变量被认为是 NULL
 

·         被赋值为 NULL

 
·         尚未被赋值

 
·         unset()