数据类型是具有相同特性的数据的统称。
PHP 早期版本提供了丰富的数据类型,在 PHP 5 中又对数据类型进行了补充。数据类型可以分为 3 类,分别是标量数据类型、复合数据类型和特殊数据类型,如下表所示。
表:数据分类及其类型数据类型
分类
数据类型
标量数据类型、
整型、浮点型、布尔型、字符串
复合数据类型
数组、对象
特殊数据类型
资源
PHP整型数据
PHP 中的整型数据指不包含小数部分的数据。
在 32 位操作系统中,整型数据的有效范围为 −2147483648 ~ +2147483647。整型数据可以用十进制(基数为10)、八进制(基数为 8,以 0 为前缀)或十六进制(基数为 16,以 0x 为前缀)表示,并且可以包含“+”、“−”。
【实例】输出整型数据。
$a = 40; //十进制整型数据
$b = -040; //八进制整型数据
$c = 0x40; //十六进制整型数据
echo $a."
";
echo $b."
";
echo $c;
?>
运行结果为:
40
-32
64
如果给定的数字超出了整型数据规定的有效范围,则会发生数据溢出。对于这种情况,PHP 会自动将整型数据转化为浮点型数据。
PHP浮点型数据
浮点型数据就是通常所说的实数,可被分为单精度浮点型数据和双精度浮点型数据。
浮点型数据主要用于仅使用简单整型数据无法表示的形式,如长度、重量等数据的表示。
【实例 2】输出浮点型数据。
// 定义浮点型变量
$a = 1.2;
$b = -0.34;
$c = 1800;
// 输出结果
echo $a . "\n";
echo $b . "\n";
echo $c . "\n";
?>
在浏览器中的输出结果为:
1.2
-0.34
1800
PHP布尔型数据
布尔型数据是在 PHP 4 中开始出现的,一个布尔型数据只有“true”和“false”两种取值,分别对应逻辑“真”与逻辑“假”。
在使用布尔型数据时,“true”、“false”这两个取值不区分大小写,即“TRUE”和“FALSE”同样正确。
布尔型变量的用法如下述代码所示:
$a = true;
$b = false;
echo $a;
echo $b;
?>
运行结果为:
1
当布尔值为“true”时,上述代码的输出为 1;当布尔值为“false”时,上述代码的输出为空。
PHP字符串数据
字符串数据是一个字符序列。组成字符串的字符是任意的,可以是字母、数字,也可以是符号。PHP 中没有对字符串的最大长度进行严格的规定。
在 PHP 中,定义字符串有 3 种方式,分别为使用单引号(')、使用双引号(")和使用定界符(<<<)。下面是一个使用字符串数据的实例:
$teacher= "教师";
echo "我是$teacher "."
";
echo '我是$teacher '.'
';
echo << 大家好 我是一个{$teacher } begin; ?> 运行结果为: 我是教师 我是$teacher 大家好 我是一个教师 在 PHP 中,单引号和双引号之间的最大区别在于双引号比单引号多一步解析。双引号会解析双引号中的变量及转义字符,而单引号则不管内容是什么,都作为字符串输出。 在双引号中,中文和变量一起使用时,最好用 {} 括住变量,或变量前后的字符串用双引号,再用“。”与变量相连。 【实例】输出字符串。
$teacher= "教师"; echo "我是$teacher你们是吗? "." echo '我是$teacher '.' echo << 大家好 我是一个{$teacher } begin; ?> 运行结果为: 我是教师你们是吗? 我是$teacher 大家好 我是一个教师 PHP数组 数组是把具有相同数据类型的项集合在一起进行处理,并按照特定的方式对它们进行排列和引用,例如在一个数组中放置多个数组值。 在 PHP 中,按顺序排列数组中的值可以通过数组的排列号码(keys)加上数组名称来获得。keys 可以是一个简单的数值,指示某个数值在系列中的位置;也可以是与数值的关联关系。 【实例】数组赋值。 $array[0]='PHP'; $array[1]='ASP'; $array[2]='JSP'; $array["name"]='java'; 上述代码只是简单介绍了数组的示例,我会在后面章节中详细介绍数组。 PHP对象 对象是一个具体概念,创建一个对象首先要创建一个类,然后才可以使用 new 实例化类的对象,将实例对象保存到一个变量中,然后访问对象的属性、方式和其他成员。 例如,每个学校都有老师,每个老师的信息都包含姓名、年龄、出生日期、联系电话等基本信息。老师也会进行教书、备课等活动(动作),我们将这些基本信息和动作放到类中,然后在类中声明变量以表示这些信息。在使用类时,每使用 new 创建一个实例就表示创建了一个教师对象。 【实例】输出对象。
class Teacher { private $teacherName; function teach($name) { $this->teacherName = $name; echo $this->teacherName . "对学生们说:早上好"; } } $tea = new Teacher(); $tea->teach("李老师"); ?> 运行结果为: 李老师对学生们说:早上好
";
';